Metodo ICLRDebuggingLibraryProvider::ProvideLibrary
Ottiene un'interfaccia di callback di provider di librerie che consente di individuare e caricare su richiesta librerie di debug specifiche della versione di Common Language Runtime (CLR).
HRESULT ProvideLibrary(
[in] const WCHAR* pwszFileName,
[in] DWORD dwTimestamp,
[in] DWORD dwSizeOfImage,
[out] HMODULE* hModule);
Parametri
pwszFilename
[in] Nome del modulo da richiedere.dwTimestamp
[in] Timestamp relativo alla data archiviato nell'intestazione di file COFF di file PE.pLibraryProvider
[in] Campo SizeOfImage archiviato nell'intestazione di file facoltativa COFF di file PE.hModule
[out] Handle del modulo richiesto.
Valore restituito
Questo metodo restituisce gli HRESULT specifici seguenti nonché gli errori HRESULT che indicano l'esito negativo del metodo.
HRESULT |
Descrizione |
---|---|
S_OK |
Il metodo è stato eseguito correttamente. |
Note
ProvideLibrary consente al debugger di fornire moduli necessari per l'esecuzione del debug di file CLR specifici quali mscordbi.dll e mscordacwks.dll. Gli handle del modulo devono rimanere validi finché una chiamata del metodo ICLRDebugging::CanUnloadNow non indica che possono essere liberati. A questo punto, è responsabilità del chiamante liberare gli handle.
Il debugger può utilizzare qualsiasi mezzo disponibile per individuare oppure ottenere il modulo di debug.
![]() |
---|
Questa funzionalità consente al chiamante dell'API di fornire moduli che contengono codice eseguibile potenzialmente dannoso.Come misura di sicurezza, il chiamante non deve utilizzare ProvideLibrary per distribuire qualsiasi codice che non è disposto a eseguire se stesso. Se in una libreria già rilasciata, ad esempio mscordbi.dll o mscordacwks.dll, viene individuato un grave problema di sicurezza, è possibile applicare una patch allo shim per riconoscere le versioni non sicure dei file.Lo shim può quindi emettere richieste per le versioni con patch dei file e rifiutare le versioni non sicure se vengono fornite in risposta a una richiesta.Questo può verificarsi solo se l'utente ha applicato la patch di una nuova versione dello shim.Le versioni senza patch rimarranno vulnerabili. |
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorDebug.idl, CorDebug.h
Libreria: CorGuids.lib
Versioni di .NET Framework: 4