ICLRDebuggingLibraryProvider::ProvideLibrary-Methode
Ruft eine Bibliothekanbieter-Rückrufschnittstelle ab, die es ermöglicht, versionsspezifische CLR (Common Language Runtime)-Debugbibliotheken bei Bedarf zu suchen und zu laden.
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 Datums-/Uhrzeitstempel.pLibraryProvider
[in] Das im optionalen COFF-Dateiheader von PE-Dateien gespeicherte SizeOfImage-Feld.hModule
[out] Das Handle für das angeforderte Modul.
Rückgabewert
Diese Methode gibt die folgenden spezifischen HRESULTs sowie HRESULT-Fehler für Methodenfehler zurück.
HRESULT |
Beschreibung |
---|---|
S_OK |
Die Methode wurde erfolgreich abgeschlossen. |
Hinweise
ProvideLibrary ermöglicht es dem Debugger, Module bereitzustellen, die zum Debuggen von bestimmten CLR-Dateien, z. B. mscordbi.dll und mscordacwks.dll, benötigt werden. Die Modulhandles müssen gültig bleiben, bis ein Aufruf der ICLRDebugging::CanUnloadNow-Methode angibt, dass sie freigegeben werden können. Dann ist der Aufrufer für das Freigeben der Handles verantwortlich.
Der Debugger kann alle verfügbaren Verfahren verwenden, um das Debugmodul zu suchen oder bereitzustellen.
Wichtig |
---|
Diese Funktion ermöglicht es dem API-Aufrufer, Module bereitzustellen, die ausführbaren und möglicherweise bösartigen Code enthalten.Als Sicherheitsmaßnahme sollte der Aufrufer mit ProvideLibrary keinen Code verteilen, der sich nicht selbst ausführen kann. Wenn in einer bereits freigegebenen Bibliothek, z. B. mscordbi.dll oder mscordacwks.dll, ein schwerwiegendes Sicherheitsproblem festgestellt wird, kann der Shim gepatcht werden, um die ungültigen Versionen der Dateien zu ermitteln.Anschließend kann der Shim die gepatchten Versionen der Dateien anfordern und die ungültigen Versionen ablehnen, wenn sie als Antwort auf eine Anforderung bereitgestellt werden.Dies kann nur erfolgen, wenn der Benutzer mit einem Patch eine neue Version des Shims erstellt hat.Nicht gepatchte Versionen bleiben ein Sicherheitsrisiko. |
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: CorDebug.idl, CorDebug.h
Bibliothek: CorGuids.lib
.NET Framework-Versionen: 4