Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gibt die Anzahl der Zeichen in der Zeichenfolge der zugeordneten Eigenschaft zurück.
Syntax
Parameter
| Parameter | Beschreibung |
|---|---|
pLen |
[out] Gibt die Anzahl der Zeichen in der Zeichenfolge der Eigenschaft zurück. |
Rückgabewert
Bei erfolgreicher Ausführung wird der Fehlercode zurückgegeben S_OK; andernfalls wird Fehlercode zurückgegeben.
Hinweise
In der Regel wird diese Methode als Prälude zum Zuordnen eines Puffers für einen Aufruf der GetStringChars-Methode verwendet.
Beispiel
Das folgende Beispiel zeigt, wie Sie diese Methode für ein CProperty-Objekt implementieren, das die IDebugProperty3-Schnittstelle verfügbar macht.
STDMETHODIMP CProperty::GetStringCharLength(ULONG *pLen)
{
HRESULT hr = E_INVALIDARG;
EVALFLAGS oldEVALFLAGS = m_EVALFLAGS;
m_EVALFLAGS &= ~EVAL_NOFUNCEVAL;
if (pLen)
{
DEBUG_PROPERTY_INFO dpInfo;
dpInfo.bstrValue = NULL;
ULONG ulen = 0;
hr = GetPropertyInfo(DEBUGPROP_INFO_VALUE,10,DEFAULT_TIMEOUT,NULL,0,&dpInfo);
if (hr == S_OK && dpInfo.bstrValue)
{
if (wcscmp(dpInfo.bstrValue,L"Nothing") == 0)
{
ulen = 0; //VSWhidbey#64815
}
else
{
ulen = ::SysStringLen(dpInfo.bstrValue);
if( ulen > 2 &&
dpInfo.bstrValue[0] == L'"' &&
dpInfo.bstrValue[ulen-1] == L'"')
{
ulen = ulen > 2 ? ulen - 2 : ulen; //remove two double quotes
}
}
}
::SysFreeString(dpInfo.bstrValue);
*pLen = ulen;
}
m_EVALFLAGS = oldEVALFLAGS;
return hr;
}