次の方法で共有


ICorDebugMetaDataLocator::GetMetaData メソッド

デバッガーが要求した操作を完了するためにメタデータが必要なモジュールへの完全パスを返すようにデバッガーに要求します。

構文

HRESULT GetMetaData(
      [in] LPCWSTR wszImagePath,
      [in] DWORD   dwImageTimeStamp,
      [in] DWORD   dwImageSize,
      [in] ULONG32 cchPathBuffer,
      [out] ULONG32 * pcchPathBuffer,
      [out, size_is(cchPathBuffer), length_is(*pcchPathBuffer)]
               WCHAR wszPathBuffer[]
      );

パラメーター

wszImagePath [in]ファイルへの完全なパスを表す null で終わる文字列。 完全なパスを使用できない場合は、ファイルの名前と拡張子 (ファイル名拡張機能)。

dwImageTimeStamp [in]イメージの PE ファイル ヘッダーからのタイム スタンプ。 このパラメーターは、シンボル サーバー (SymSrv) 参照に使用できる可能性があります。

dwImageSize [in]PE ファイル ヘッダーからのイメージ サイズ。 このパラメーターは、SymSrv 参照に使用できる可能性があります。

cchPathBuffer [in] wszPathBufferの文字数。

pcchPathBuffer[out]wszPathBufferに書き込まれたWCHARの数。

メソッドがE_NOT_SUFFICIENT_BUFFERを返す場合は、パスを格納するために必要な WCHARの数が含まれます。

wszPathBuffer [out]デバッガーが要求されたメタデータを含むファイルの完全なパスをコピーするバッファーへのポインター。

CorOpenFlags 列挙からのofReadOnly フラグは、このファイル内のメタデータへの読み取り専用アクセスを要求するために使用されます。

戻り値

このメソッドは、次の特定の HRESULT と、メソッドエラーを示す HRESULT エラーを返します。 他のすべてのエラー HRESULT は、ファイルが取得不可能であることを示します。

HRESULT Description
S_OK メソッドは正常に完了しました。 wszPathBuffer にはファイルへの完全なパスが含まれており、null で終了します。
E_NOT_SUFFICIENT_BUFFER wszPathBufferの現在のサイズでは、完全なパスを保持するには不十分です。 この場合、 pcchPathBuffer には、終端の null 文字を含む必要な WCHAR数が含まれており、 GetMetaData は要求されたバッファー サイズで 2 回目に呼び出されます。

注釈

wszImagePathダンプからのモジュールの完全なパスが含まれている場合は、ダンプが収集されたコンピューターからのパスを指定します。 この場所にファイルが存在しないか、パスに同じ名前の正しくないファイルが格納されている可能性があります。

Requirements

プラットフォーム:サポートされている .NET オペレーティング システムを参照してください。

ヘッダ: CorDebug.idl、CorDebug.h

図書館: CorGuids.lib

.NET のバージョン: .NET Framework 4.0 以降で使用可能

こちらも参照ください