Partager via


IDebugProperty3 : : GetStringChars

Extrait la chaîne associée à cette propriété et l'enregistre dans une mémoire tampon fournie par l'utilisateur.

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

Paramètres

  • buflen
    [in] Nombre maximal de caractères que la mémoire tampon fournie par l'utilisateur peut stocker.

  • rgString
    [out] Retourne la chaîne.

    [C++] uniquement, rgString est un pointeur vers une mémoire tampon qui accepte les caractères de la chaîne. Cette mémoire tampon doit avoir au moins les caractères d' buflen (et non) en taille.

  • pceltFetched
    [out] Emplacement où le nombre de caractères en réalité stockés dans la mémoire tampon est retourné. (Peut être NULL en C++.)

Valeur de retour

En cas de réussite, retourne S_OK; sinon retourne un code d'erreur.

Notes

En C++, le veillez à assurer que la mémoire tampon est au moins les caractères Unicode d' buflen longtemps. Notez qu'un caractère Unicode est de 2 octets.

Notes

En C++, la chaîne retournée n'inclut pas de caractère NULL de fin.Si donné, pceltFetched spécifie le nombre de caractères dans la chaîne.

Exemple

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

}

Voir aussi

Référence

IDebugProperty3 : : GetStringCharLength

IDebugProperty3

IDebugProperty2