SysFreeString(bstrVal); // use API to Free BSTR
bstrVal = SysAllocString(L"This is BSTR string"); // use API to initalize BSTR
strVal = bstrVal; // BSTR -> CString
SysFreeString(bstrVal); // use API to Free BSTR
使用_bstr_t类处理BSTR;
_bstr_t bsVal;
LPCTSTR lpszVal = _T("This is LPCTSTR");
char* lpChar = "This is char*";
VARIANT是最复杂的,它支持byte, word, long, BSTR, SafeArray等各种类型的型/实参的调用。一般情况下可以用_variant_,CComVariant,COleVariant等类实现转换,如果直接使用API则相对复杂些。另外说明的是,VARIANT中的SAFEARRAY在MFC也有COleSafeArray所支持,所以没有必要直接使用API函数实现。