DllImportResolver Delegato

Definizione

Fornisce un delegato usato per risolvere le librerie native tramite callback.

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 

Parametri

libraryName
String

Libreria nativa da risolvere.

assembly
Assembly

Assembly che richiede la risoluzione.

searchPath
Nullable<DllImportSearchPath>

Oggetto DefaultDllImportSearchPathsAttribute sul PInvoke, se presente. In caso contrario, nell'assembly DefaultDllImportSearchPathsAttribute , se presente. In caso contrario, null.

Valore restituito

IntPtr

nativeint

Handle per la libreria nativa caricata in caso di esito positivo o Zero in caso di errore.

Commenti

Il runtime non esegue alcuna gestione della durata intorno all'handle restituito da un oggetto DllImportResolver. Viene lasciato all'implementazione e all'utilizzo del codice per mantenere caricata la libreria per tutto il tempo necessario e liberarla se/quando lo si desidera.

Il sistema di risoluzione viene in genere chiamato una volta per ogni punto di ingresso PInvoke. Per migliorare le prestazioni, l'implementazione del sistema di risoluzione può memorizzare nella cache l'oggetto per gestire il libraryName mapping, purché la libreria non sia scaricata tramite Free(IntPtr).

Metodi di estensione

Nome Descrizione
GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.

Si applica a