>>>I haven't gotten into it in detail, but I have been told that the C++ functions that operate on BSTR data types assume NUL terminated strings. Have you found alternatives to this?
>>
>>BSTR strings contain a counter value, plus the string buffer, so you can
>>indeed store binary data in these values. Keep in mind though that BSTR
>>is a very inefficient format for this because BSTRS are double byte and
>>with binary data that second byte is wasted.
>>
>>The problem is that most 'framework' functions and objects don't treat
>>BSTRS as binary strings by default. So the various ATL COM classes
>>don't support binary strings in BSTR values. Through the BSTR API
>>calls you can get at the binary data fine though.
>
>Thanks, is there a BLOB like COM data type? That works more efficiently?
SafeArrays (also known as ByteArrays in VB)... But they're a bitch to work with. They're basically raw buffers that you can type as you see fit.
+++ Rick ---