Partager via


ICLRDebuggingLibraryProvider::ProvideLibrary, méthode

Obtient une interface de rappel de fournisseur de bibliothèque permettant la recherche et le chargement à la demande des bibliothèques de débogage spécifiques à la version du Common Language Runtime (CLR).

Syntaxe

HRESULT ProvideLibrary(
     [in] const WCHAR* pwszFileName,
     [in] DWORD dwTimestamp,
     [in] DWORD dwSizeOfImage,
     [out] HMODULE* hModule);

Paramètres

pwszFilename
[in] Nom du module demandé.

dwTimestamp
[in] Timestamp de la date stocké dans l’en-tête de fichier COFF des fichiers PE.

dwSizeOfImage
[in] Champ SizeOfImage stocké dans l’en-tête de fichier facultatif COFF des fichiers PE.

hModule
[out] Handle au module demandé.

Valeur de retour

Cette méthode retourne les HRESULT spécifiques suivants ainsi que les erreurs HRESULT indiquant l'échec de la méthode.

HRESULT Description
S_OK La commande s'est correctement terminée.

Exceptions

Remarques

ProvideLibrary permet au débogueur de fournir les modules nécessaires pour le débogage de fichiers CLR spécifiques, comme mscordbi.dll et mscordacwks.dll. Les descripteurs de module doivent rester valides jusqu’à ce qu’un appel à la méthode ICLRDebugging::CanUnloadNow indique qu’ils peuvent être libérés, auquel cas il incombe à l’appelant de libérer les descripteurs.

Le débogueur peut utiliser tous les moyens disponibles pour localiser ou se procurer le module de débogage.

Important

Cette fonctionnalité permet à l’appelant d’API de fournir des modules qui contiennent un exécutable, et éventuellement du code malveillant. En guise de précaution de sécurité, l’appelant ne doit pas utiliser ProvideLibrary pour distribuer tout code qu’il n’est pas prêt à s’exécuter lui-même.

Si un problème de sécurité sérieux est détecté dans une bibliothèque déjà publiée, par exemple mscordbi.dll ou mscordacwks.dll, le shim peut être corrigé pour reconnaître les versions incorrectes des fichiers. Le shim peut ensuite émettre des demandes pour les versions corrigées des fichiers et rejeter les versions incorrectes si elles sont fournies en réponse à toute demande. Cela peut se produire uniquement si l’utilisateur a mis à jour une nouvelle version du shim. Les versions non mises à jour restent vulnérables.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : CorDebug.idl, CorDebug.h

Bibliothèque : CorGuids.lib

Versions de .NET Framework : Disponible depuis la version 4

Voir aussi