ICLRDebuggingLibraryProvider::ProvideLibrary-Methode
Ruft eine Bibliotheksanbieter-Rückrufschnittstelle ab, die es ermöglicht, versionsspezifische Common Language Runtime (CLR)-Debugbibliotheken bei Bedarf zu suchen und zu laden.
Syntax
HRESULT ProvideLibrary(
[in] const WCHAR* pwszFileName,
[in] DWORD dwTimestamp,
[in] DWORD dwSizeOfImage,
[out] HMODULE* hModule);
Parameter
pwszFilename
[in] Der Name des Moduls, das angefordert wird.
dwTimestamp
[in] Der im COFF-Dateiheader von PE-Dateien gespeicherte Datumszeitstempel.
dwSizeOfImage
[in] Das SizeOfImage
-Feld, das im optionalen COFF-Dateiheader von PE-Dateien gespeichert ist.
hModule
[out] Das Handle für das angeforderte Modul.
Rückgabewert
Diese Methode gibt die folgenden spezifischen HRESULTs sowie HRESULT-Fehler zurück, die Methodenfehler anzeigen.
HRESULT | BESCHREIBUNG |
---|---|
S_OK | Die Methode wurde erfolgreich abgeschlossen. |
Ausnahmen
Bemerkungen
ProvideLibrary
ermöglicht es dem Debugger, Module bereitzustellen, die zum Debuggen bestimmter CLR-Dateien wie mscordbi.dll und mscordacwks.dll erforderlich sind. Die Modulhandles müssen gültig bleiben, bis ein Aufruf der ICLRDebugging::CanUnloadNow-Methode anzeigt, dass freigegeben werden können. Es liegt dann in der Verantwortung des Aufrufers, die Handles frei zu geben.
Der Debugger kann alle verfügbaren Mittel verwenden, um das Debugmodul zu suchen oder zu beschaffen.
Wichtig
Mit diesem Feature kann der API-Aufrufer Module bereitstellen, die ausführbaren und möglicherweise schädlichen Code enthalten. Als Sicherheitsvorkehrung sollte der Aufrufer nicht ProvideLibrary
verwenden, um Code zu verteilen, den er nicht selbst ausführen will.
Wenn ein schwerwiegendes Sicherheitsproblem in einer bereits veröffentlichten Bibliothek entdeckt wird, z. B. mscordbi.dll oder mscordacwks.dll, kann der Shim gepatcht werden, um die ungültigen Versionen der Dateien zu erkennen. Der Shim kann dann Anforderungen für die gepatchten Versionen der Dateien ausstellen und die ungültigen Versionen ablehnen, wenn sie als Antwort auf eine Anforderung bereitgestellt werden. Dies kann nur passieren, wenn der Benutzer einen Patch auf eine neue Version des Shim durchgeführt hat. Nicht gepatchte Versionen bleiben anfällig.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: CorDebug.idl, CorDebug.h
Bibliothek: CorGuids.lib
.NET Framework-Versionen: Seit Version 4 verfügbar