Condividi tramite


IDebugProperty3:: GetStringChars

Recuperare la stringa associata a questa proprietà e la sono memorizzate in un buffer fornito dall'utente.

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

Parametri

  • buflen
    [in] Numero massimo di caratteri dal buffer fornito dall'utente possibile utilizzare.

  • rgString
    [out] restituisce la stringa.

    [C++ solo], rgString è un puntatore a un buffer che riceve i caratteri unicode della stringa. Questo buffer deve essere almeno caratteri di buflen (non byte) nella dimensione.

  • pceltFetched
    [out] Dove il numero di caratteri effettivamente archiviato nel buffer viene restituito. (Può essere NULL in C++.)

Valore restituito

Se l'operazione riesce, restituisce S_OK; in caso contrario restituisce un codice di errore.

Note

In C++, è necessario prestare attenzione per garantire che il buffer sia composta almeno caratteri unicode di buflen . si noti che un carattere unicode è di lunghezza di 2 byte.

Nota

In C++, la stringa restituita non include un carattere di terminazione null.Se specificato, pceltFetched specificherà il numero di caratteri della stringa.

Esempio

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

}

Vedere anche

Riferimenti

IDebugProperty3:: GetStringCharLength

IDebugProperty3

IDebugProperty2