다음을 통해 공유


IDebugProperty3::GetStringChars

이 속성에 연결 문자열을 검색 하 고 사용자가 제공한 버퍼에 저장 합니다.

HRESULT GetStringChars(
   ULONG  buflen,
   WCHAR* rgString,
   ULONG* pceltFetched
);
int GetStringChars(
   uint       buflen, 
   out string rgString, 
   out uint   pceltFetched
);

매개 변수

  • buflen
    [in] 최대 문자 수는 사용자가 제공한 버퍼를 보유할 수 있습니다.

  • rgString
    [out] 문자열을 반환합니다.

    [C + +만], rgString 를 문자열의 유니코드 문자를 수신 하는 버퍼에 대 한 포인터입니다. 이 버퍼는 buflen 의 크기 (바이트) 문자입니다.

  • pceltFetched
    [out] 버퍼에 실제로 저장 되는 문자 수가 반환 되는 위치입니다. (Can be NULL in C++.)

반환 값

성공 하면 반환 S_OK. 그렇지 않으면 오류 코드를 반환 합니다.

설명

C + +에서는 버퍼 적어도 되도록 주의 해야 buflen 유니코드 문자입니다. 참고 유니코드 문자가 2 바이트 길이입니다.

참고

C + +에서 반환 되는 문자열 null 종결 문자를 포함 하지 않습니다.지정 된 경우 pceltFetched 는 문자열에서 문자 수를 지정 합니다.

예제

[cpp]

CStringW RetrievePropertyString(IDebugProperty2 *pPropInfo)
{
    CStringW returnString = L"";
    CComQIPtr<IDebugProperty3> pProp3 = pPropInfo->pProperty;
    If (pProp3 != NULL) {
        ULONG dwStrLen = 0;
        HRESULT hr;
        hr = pProp3->GetStringCharLength(&dwStrLen);
        if (SUCCEEDED(hr) && dwStrLen > 0) {
            ULONG dwRead;
            CStrBufW buf(returnString,dwStrLen,CStrBuf::SET_LENGTH);
            hr = pProp3->GetStringChars(dwStrLen,
                                        reinterpret_cast<WCHAR*>(static_cast<CStringW::PXSTR>(buf)),
                                        &dwRead);
        }
    }
    return(returnString);

}

참고 항목

참조

IDebugProperty3::GetStringCharLength

IDebugProperty3

IDebugProperty2