次の方法で共有


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 説明
S_OK メソッドは正常に完了しました。 wszPathBuffer にはファイルの完全パスが含まれます。また終端は null です。
E_NOT_SUFFICIENT_BUFFER wszPathBuffer の現在のサイズが十分ではないため、完全パスを保持できません。 この場合、pcchPathBuffer に必要な WCHAR の数 (終端の null 文字も含む) が格納され、要求されたバッファー サイズで GetMetaData がもう一度呼び出されます。

解説

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

必要条件

:システム要件」を参照してください。

ヘッダー: CorDebug.idl、CorDebug.h

ライブラリ: CorGuids.lib

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

関連項目