DllImportResolver 代理人

定義

コールバックを使用してネイティブ ライブラリを解決するために使用されるデリゲートを提供します。

public delegate IntPtr DllImportResolver(System::String ^ libraryName, Assembly ^ assembly, Nullable<DllImportSearchPath> searchPath);
public delegate IntPtr DllImportResolver(string libraryName, Assembly assembly, DllImportSearchPath? searchPath);
type DllImportResolver = delegate of string * Assembly * Nullable<DllImportSearchPath> -> nativeint
Public Delegate Function DllImportResolver(libraryName As String, assembly As Assembly, searchPath As Nullable(Of DllImportSearchPath)) As IntPtr 

パラメーター

libraryName
String

解決するネイティブ ライブラリ。

assembly
Assembly

解決を要求するアセンブリ。

searchPath
Nullable<DllImportSearchPath>

PInvoke の DefaultDllImportSearchPathsAttribute (存在する場合)。 それ以外の場合、アセンブリの DefaultDllImportSearchPathsAttribute (存在する場合)。 それ以外の場合は null

戻り値

IntPtr

nativeint

成功した場合は読み込まれたネイティブ ライブラリのハンドル、または失敗した場合は Zero

注釈

ランタイムは、 DllImportResolverによって返されるハンドルに関する有効期間管理を行いません。 必要な限りライブラリを読み込み、必要に応じて解放するために、実装と使用コードに任されます。

リゾルバーは通常、PInvoke エントリ ポイントごとに 1 回呼び出されます。 パフォーマンスを向上させるために、リゾルバーの実装では、ライブラリがFree(IntPtr)経由でアンロードされない限り、マッピングを処理するlibraryNameをキャッシュできます。

拡張メソッド

名前 説明
GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。

適用対象