Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis 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;
}