Condividi tramite


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.

Nota importanteImportante

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

Vedere anche

Altre risorse

Interfacce di debug

Debug (riferimenti alle API non gestite)