次の方法で共有


ICLRDebuggingLibraryProvider2::P rovideLibrary2 メソッド

デバッガーがバージョン固有の共通言語ランタイム (CLR) デバッグ ライブラリへのパスを提供できるようにします。

構文

HRESULT ProvideLibrary2 (
     [in] const WCHAR* pwszFileName,
     [in] DWORD dwTimestamp,
     [in] DWORD dwSizeOfImage,
     [out] LPWSTR* ppResolvedModulePath);

パラメーター

pwszFilename
[in]要求されるモジュールの名前。

dwTimestamp
[in]PE ファイルの COFF ファイル ヘッダーに格納されている日付タイム スタンプ。

dwSizeOfImage
[in]PE ファイルの COFF オプション・ファイル・ヘッダーに保管されている SizeOfImage ・フィールド。

ppResolvedModulePath
[out]これは、モジュール dll への null 終端パスです。 Windows では、CoTaskMemAlloc を使用して割り当てる必要があります。 Unix では、malloc を使用して割り当てる必要があります。 失敗すると、手つかずの状態になります。 以下のセキュリティに関する注意事項を参照してください。

戻り値

このメソッドは、次の特定の HRESULT と、メソッドエラーを示す HRESULT エラーを返します。

HRESULT 説明
S_OK メソッドは正常に完了しました。

注釈

ProvideLibrary2 を使用すると、デバッガーは、mscordbi.dll や mscordacwks.dllなどの特定の CLR ファイルのデバッグに必要なモジュールを提供できます。

デバッガーは、デバッグ モジュールを検索または調達するために使用可能な任意の手段を使用できます。

Von Bedeutung

この機能を使用すると、API 呼び出し元は実行可能なコードや悪意のあるコードを含むモジュールを提供できます。 セキュリティ上の予防措置として、呼び出し元は ProvideLibrary2 を使用して、それ自体を実行する必要のないコードを配布しないようにする必要があります。

mscordbi.dll や mscordacwks.dllなど、既にリリースされているライブラリで重大なセキュリティの問題が検出された場合は、shim に修正プログラムを適用して、ファイルの不適切なバージョンを認識できます。 shim は、修正プログラムが適用されたバージョンのファイルに対する要求を発行し、要求に応答して提供された場合は無効なバージョンを拒否できます。 これは、ユーザーが新しいバージョンの shim にパッチを適用した場合にのみ発生します。 修正プログラムが適用されていないバージョンは引き続き脆弱です。

要求事項

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

ヘッダー: dbgshim.h

ライブラリ: dbgshim.dll, libdbgshim.so, libdbgshim.dylib

.NET バージョン: .NET Core 2.1 以降で使用可能