次の方法で共有


IDebugComPlusSymbolProvider::GetAssemblyName

モジュールとアプリケーション ドメインを指定して、アセンブリの名前を取得します。

構文

int GetAssemblyName(
    uint   ulAppDomainID,
    Guid   guidModule,
    string pbstrName
);

パラメーター

ulAppDomainID
[in] アプリケーション ドメインの識別子。

guidModule
[入力] モジュールの一意識別子。

pbstrName
[out] アセンブリの名前を返します。

戻り値

成功した場合は、S_OK を返します。それ以外の場合は、エラー コードを返します。

次の例は、IDebugComPlusSymbolProvider インターフェイスを公開する CDebugSymbolProvider オブジェクトにこのメソッドを実装する方法を示しています。

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;
}

関連項目