BSTR <-> CString
CString BSTRToCString(BSTR bstr) { char* pbstr; USES_CONVERSION; // <atlconv.h>, convert를 위한 macro pbstr = OLE2A(bstr); // BSTR -> char return CString(bstr); } BSTR CStringToBSTR(CString str) { return str.AllocSysString(); // CString to BSTR } |
BSTR <-> char*
// BSTR to char* BSTR bstr char* pbstr; USES_CONVERSION; // <atlconv.h>, convert를 위한 macro pbstr = OLE2A(bstr); // BSTR -> char // char to BSTR TCHAR szString[512]; _bstr_t bstr_string = szString; BSTR bstr *bstr = bstr_string.copy(); |
CString <-> CComVariant
// CString -> CComVariant CString str; CComVariant out(str.AllocSysString()); or CComVariant out(str); // CComVariant -> CString str = out.bstrVal; |
VARIANT
VARIANT BSTRToVARIANT(BSTR bstr) |