¿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);     

Respuestas a la pregunta(2)

Su respuesta a la pregunta