Freigeben über


IDebugComPlusSymbolProvider::GetAssemblyName

Retrieves the name of the assembly given its module and application domain.

[C++]
HRESULT GetAssemblyName(
   ULONG32 ulAppDomainID,
   GUID    guidModule,
   BSTR*   pbstrName
);

[C#]
int GetAssemblyName(
   uint   ulAppDomainID,
   Guid   guidModule,
   string pbstrName
);

Parameters

  • ulAppDomainID
    [in] Identifier for the application domain.

  • guidModule
    [in] Unique identifier for the module.

  • pbstrName
    [out] Returns the name of the assembly.

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::GetAssemblyName(
    ULONG32 ulAppDomainID,
    GUID guidModule,
    BSTR* pbstrName
)
{
    HRESULT hr = S_OK;
    Module_ID idModule(ulAppDomainID, guidModule);
    CComPtr<IMetaDataImport> pMetadata;

    METHOD_ENTRY( CDebugSymbolProvider::GetMetadataForModule );

    IfFalseGo( pbstrName, E_INVALIDARG );
    *pbstrName = NULL;

    IfFailGo( GetMetadata( idModule, &pMetadata ) );
    IfFailGo( GetAssemblyName( pMetadata, 0, pbstrName ) );

Error:

    METHOD_EXIT( CDebugSymbolProvider::GetMetadataForModule, hr );
    return hr;
}

See Also

Reference

IDebugComPlusSymbolProvider