Partilhar via


IDebugProperty3::GetStringChars

Recupera a seqüência associada a essa propriedade e as armazena em um buffer fornecido pelo usuário.

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

Parâmetros

  • buflen
    [in] Número máximo de caracteres pode conter o buffer fornecido pelo usuário.

  • rgString
    [out] Retorna a seqüência de caracteres.

    [Apenas C++], rgString é um ponteiro para um buffer que recebe os caracteres Unicode da seqüência de caracteres. Esse buffer deve ser pelo menos buflen (não em bytes) de caracteres de tamanho.

  • pceltFetched
    [out] Onde o número de caracteres realmente armazenados no buffer é retornado. (Can be NULL in C++.)

Valor de retorno

Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro.

Comentários

No C++, é preciso ter cuidado para garantir que o buffer é pelo menos buflen caracteres Unicode. Observe que um caractere Unicode é de 2 bytes de comprimento.

Dica

No C++, a seqüência de caracteres retornada não inclui um caractere nulo de terminação.Se especificado, pceltFetched especificará o número de caracteres na seqüência de caracteres.

Exemplo

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

}

Consulte também

Referência

IDebugProperty3::GetStringCharLength

IDebugProperty3

IDebugProperty2