문제

lpcolest에서 BSTR을 만드는 방법에 대한 아이디어가 있습니까? 어리석은 일에 끊임없이 ..

도움이 되었습니까?

해결책

an LPCOLESTR 그냥 a const wchar_t*, 당신은 사용할 수 있습니다 SysAllocString() a BSTR:

LPCOLESTR olestr = ...;
BSTR bstr = SysAllocString(olestr);

반드시 전화하십시오 SysFreeString() 당신이 끝났을 때 BSTR. 참조 MSDN 문서 BSTR에스

다른 팁

BSTR과 LPCOLESTR의 차이점은 BSTR이 문자열 앞에 문자열의 길이를 가지고 있다는 것입니다. lpcolest는 그렇지 않습니다.

BSTR에는 문자열의 길이가 접두사가 접두사로 표시되기 때문에 BSTR에 반드시 0 표시 끝이있는 것은 아닙니다. 일반적으로 ccombstr (atlcomcli.h)를 사용하기 위해 CTOR는 BSTR 또는 lpcolest를 인수로 사용합니다. BSTR 표현을 얻기위한 멤버 BSTR ()입니다.

CComBSTR b( yourolestring )
// b.BSTR()

CComBSTR은 할당/풀기를 처리하므로 메모리 누출 위험이 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top