Passing binary data via dispatch interface

Hiya

 I've written a COM server/client using a dispatch interface.
It seems to be working fine so far, the I've come across
a problem when I want to pass a block of binary data
between the server and client.

 I can't use a custom interface since it's important for me
to support languages like VB/VBA.  I've seen solutions
that use horribly complicated workarounds
(http://codeguru.earthweb.com/atl/BufferVariant.html),
but I can't belive there isn't an easier way.

 Can't you pass eg. a reference to a Byte array, or use
a BSTR?  The latter includes a length count, so in
theory it can contain binary data.

 Thanks for any suggestions,

 --
C-YA
Jon

 <http://www.witchspace.com>