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 den Namen zurück, der dem angegebenen Token zugeordnet ist, wenn das Metadatenobjekt angegeben ist.
Syntax
Parameter
pMetadataImport
[in] Objekt, das die Metadateninformationen enthält.
dwToken
[in] Token, das benannt werden soll.
pbstrName
[out] Name, der dem Token entspricht.
Rückgabewert
Wenn die Ausführung erfolgreich ist, wird S_OK, andernfalls ein Fehlercode zurückgegeben.
Beispiel
Das folgende Beispiel zeigt, wie Sie diese Methode für ein CDebugSymbolProvider -Objekt implementieren, das die IDebugComPlusSymbolProvider-Schnittstelle verfügbar macht.
HRESULT CDebugSymbolProvider::GetNameFromToken(
IUnknown* pMetadataImport,
DWORD dwToken,
BSTR* pbstrName
)
{
HRESULT hr = S_OK;
CComPtr<IMetaDataImport> pMetaData;
ASSERT(IsValidObjectPtr(this, CDebugSymbolProvider));
ASSERT(IsValidInterfacePtr(pMetadataImport, IUnknown));
METHOD_ENTRY(CDebugSymbolProvider::GetNameFromToken);
IfFalseGo( pMetadataImport && pbstrName, E_INVALIDARG );
*pbstrName = NULL;
IfFailGo( pMetadataImport->QueryInterface( IID_IMetaDataImport,
(void**) &pMetaData ) );
switch ( TypeFromToken(dwToken) )
{
case mdtModule:
IfFailGo( GetModuleName( pMetaData, dwToken, pbstrName) );
break;
case mdtTypeDef:
IfFailGo( GetTypeName( pMetaData, dwToken, pbstrName) );
break;
case mdtFieldDef:
IfFailGo( GetFieldName( pMetaData, dwToken, pbstrName) );
break;
case mdtMethodDef:
IfFailGo( GetMethodName( pMetaData, dwToken, pbstrName) );
break;
case mdtEvent:
IfFailGo( GetEventName( pMetaData, dwToken, pbstrName) );
break;
case mdtProperty:
IfFailGo( GetPropertyName( pMetaData, dwToken, pbstrName) );
break;
case mdtAssembly:
IfFailGo( GetAssemblyName( pMetaData, dwToken, pbstrName) );
break;
default:
ASSERT(!"Unsupported token passed to GetNameFromToken");
hr = E_FAIL;
break;
}
Error:
METHOD_EXIT(CDebugSymbolProvider::GetNameFromToken, hr);
return hr;
}