Metodo ICLRDebuggingLibraryProvider::ProvideLibrary
Ottiene un'interfaccia di callback del provider di librerie che consente alle librerie di debug specifiche della versione di Common Language Runtime (CLR) di trovarsi e caricare su richiesta.
Sintassi
HRESULT ProvideLibrary(
[in] const WCHAR* pwszFileName,
[in] DWORD dwTimestamp,
[in] DWORD dwSizeOfImage,
[out] HMODULE* hModule);
Parametri
pwszFilename
[in] Nome del modulo richiesto.
dwTimestamp
[in] Timestamp di data archiviato nell'intestazione del file COFF dei file PE.
dwSizeOfImage
[in] Campo SizeOfImage
archiviato nell'intestazione facoltativa del file COFF dei file PE.
hModule
[out] Handle del modulo richiesto.
Valore restituito
Questo metodo restituisce gli specifici HRESULT seguenti, nonché gli errori di HRESULT che indicano la mancata riuscita del metodo.
HRESULT | Descrizione |
---|---|
S_OK | Metodo completato correttamente. |
Eccezioni
Osservazioni
ProvideLibrary
consente al debugger di fornire moduli necessari per il debug di file CLR specifici, ad esempio mscordbi.dll e mscordacwks.dll. Gli handle del modulo devono rimanere validi finché una chiamata al metodo ICLRDebugging::CanUnloadNow indica che possono essere liberati, a quel punto è responsabilità del chiamante liberare gli handle.
Il debugger può usare qualsiasi mezzo disponibile per individuare o procurare il modulo di debug.
Importante
Questa funzionalità consente al chiamante API di fornire moduli che contengono file eseguibili e possibilmente dannosi. Come precauzione di sicurezza, il chiamante non deve usare ProvideLibrary
per distribuire alcun codice che non è disposto a eseguire se stesso.
Se viene rilevato un problema di sicurezza grave in una libreria già rilasciata, ad esempio mscordbi.dll o mscordacwks.dll, lo shim può essere sottoposto a patch per riconoscere le versioni non corrette dei file. Lo shim può quindi inviare richieste per le versioni patch dei file e rifiutare le versioni non valide se vengono fornite in risposta a qualsiasi richiesta. Ciò può verificarsi solo se l'utente ha eseguito la patch a una nuova versione dello shim. Le versioni non aggiornate rimarranno vulnerabili.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorDebug.idl, CorDebug.h
Libreria: CorGuids.lib
Versioni di .NET Framework: Disponibile da 4