The Difference Between BSTR and Unicode Strings

Though each character of BSTR and Unicode strings are 2 characters wide, there is a fundamental difference between the two.

BSTR strings have to be length prefixed, which means that the memory locations at the very beginning of the string contain the length of the string. BSTRs also have to be created using SysAllocString and SysFreeString.

If you pass a simple unicode (wchar) string as an argument to a COM function expecting a BSTR, it will fail.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: