Partager via


ICLRDebuggingLibraryProvider3 ::P rovideUnixLibrary, méthode

Permet au débogueur de fournir un chemin d’accès à une bibliothèque de débogage CLR (Common Language Runtime) spécifique à une version sur macOS et Linux.

Syntaxe

HRESULT ProvideUnixLibrary (
     [in] const WCHAR* pwszFileName,
     [in] const WCHAR* pwszRuntimeModule,
     [in] LIBRARY_PROVIDER_INDEX_TYPE indexType,
     [in] BYTE* pbBuildId,
     [in] int iBuildIdSize,
     [out] LPWSTR* ppResolvedModulePath);

Paramètres

pwszFilename
[in] Nom du module demandé.

pwszRuntimeModule
[in] Chemin du module runtime ou à fichier unique.

indexType
[in] Type d’informations d’index (pBuildId) fourni. Voir LIBRARY_PROVIDER_INDEX_TYPE énumération.

pbBuildId
[in] ID de build du module Linux ou macOS. Peut être null si un problème s’est produit lors de la récupération de l’ID de build.

iBuildIdSize
[in] Nombre d’octets dans le tableau pbBuildId. Peut être 0 si une erreur s’est produite lors de la récupération de l’ID de build.

ppResolvedModulePath
[out] Il s’agit d’un chemin d’accès arrêté null vers la dll de module. Sur Unix, il doit être alloué avec CoTaskMemAlloc. Sur Unix, il doit être alloué avec malloc. L’échec le laisse intouché. Voir la note de sécurité ci-dessous !

Valeur retournée

Cette méthode retourne les erreurs HRESULT spécifiques suivantes, ainsi que les erreurs HRESULT qui indiquent une défaillance de méthode.

HRESULT Descriptif
S_OK La méthode s’est terminée avec succès.

Remarques

ProvideUnixLibrary permet au débogueur de fournir des modules nécessaires au débogage de fichiers CLR spécifiques tels que mscordbi.dll et mscordacwks.dll.

Le débogueur peut utiliser tous les moyens disponibles pour localiser ou acheter 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 ProvideUnixLibrary pour distribuer de code qu’il n’est pas prêt à s’exécuter lui-même.

Si un problème de sécurité grave 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 à une demande. Cela peut se produire uniquement si l’utilisateur a corrigé une nouvelle version du shim. Les versions non corrigés restent vulnérables.

Spécifications

Plates-formes: Consultez les systèmes d’exploitation pris en charge par .NET.

En-tête : dbgshim.h

Bibliothèque : dbgshim.dll, libdbgshim.so, libdbgshim.dylib

Versions de .NET : Disponible depuis .NET Core 2.1