Freigeben über


IDebugProperty3::GetStringChars

Ruft die dieser Eigenschaft zugeordnete Zeichenfolge ab und speichert sie in einem vom Benutzer bereitgestellten Puffer.

Syntax

int GetStringChars(
    uint       buflen,
    out string rgString,
    out uint   pceltFetched
);

Parameter

buflen
[in] Maximale Anzahl von Zeichen, die der vom Benutzer bereitgestellte Puffer enthalten kann.

rgString
[out] Gibt die Zeichenfolge zurück.

[C++ only], rgString ist ein Zeiger auf einen Puffer, der die Unicode-Zeichen der Zeichenfolge empfängt. Dieser Puffer muss mindestens buflen Zeichen (nicht Byte) groß sein.

pceltFetched
[out] Gibt an, wo die Anzahl der Zeichen, die tatsächlich im Puffer gespeichert sind, zurückgegeben wird. (Kann in C++ enthalten sein NULL .)

Rückgabewert

Wenn die Ausführung erfolgreich ist, wird S_OK zurückgegeben, andernfalls ein Fehlercode.

Hinweise

In C++ muss darauf geachtet werden, dass der Puffer mindestens buflen Unicode-Zeichen lang ist. Beachten Sie, dass ein Unicode-Zeichen 2 Byte lang ist.

Hinweis

In C++ enthält die zurückgegebene Zeichenfolge kein endendes NULL-Zeichen. Wenn angegeben, pceltFetched wird die Anzahl der Zeichen in der Zeichenfolge angegeben.

Beispiel

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

Siehe auch