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.
Returns the name associated with the specified token given its metadata object.
Syntax
Parameters
pMetadataImport
[in] Object that contains the metadata information.
dwToken
[in] Token to be named.
pbstrName
[out] Name that corresponds to the token.
Return Value
If successful, returns S_OK; otherwise, returns an error code.
Example
The following example shows how to implement this method for a CDebugSymbolProvider object that exposes the IDebugComPlusSymbolProvider interface.
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;
}