Never Use L”” to Create a BSTR

When you call a COM method, it accepts BSTR in the following way:


L”” does not create a BSTR. This just creates a wide character string and if the string has to be marshalled to another apartment, the method will fail. Such usage will result in hard to find bugs wherein a method will succeed if it is called from same apartment and will fail otherwise.

Instead, use CComBSTR(L””), as in:

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


Recent Articles: