¿Debería haber una diferencia entre un BSTR vacío y un BSTR NULO?
Al mantener unCOM
interfaz debe estar vacíaBSTR
ser tratado de la misma manera queNULL
? En otras palabras, ¿deberían estas dos llamadas de función producir el mismo resultado?
// Empty BSTR
CComBSTR empty(L""); // Or SysAllocString(L"")
someObj->Foo(empty);
// NULL BSTR
someObj->Foo(NULL);