ICLRDebuggingLibraryProvider::P rovideLibrary Method
Hämtar ett gränssnitt för återanrop från biblioteksprovidern som gör att clr-versionsspecifika felsökningsbibliotek (Common Language Runtime) kan lokaliseras och läsas in på begäran.
Syntax
HRESULT ProvideLibrary(
[in] const WCHAR* pwszFileName,
[in] DWORD dwTimestamp,
[in] DWORD dwSizeOfImage,
[out] HMODULE* hModule);
Parametrar
pwszFilename
[in] Namnet på modulen som begärs.
dwTimestamp
[in] Datum/tid-stämpeln som lagras i COFF-filhuvudet för PE-filer.
dwSizeOfImage
[in] Fältet SizeOfImage
som lagras i det valfria COFF-filhuvudet för PE-filer.
hModule
[ut] Referensen till den begärda modulen.
Returvärde
Den här metoden returnerar följande specifika HRESULT-fel samt HRESULT-fel som indikerar metodfel.
HRESULT | Description |
---|---|
S_OK | Metoden har slutförts. |
Undantag
Anmärkningar
ProvideLibrary
gör att felsökaren kan tillhandahålla moduler som behövs för felsökning av specifika CLR-filer, till exempel mscordbi.dll och mscordacwks.dll. Modulreferenserna måste vara giltiga tills ett anrop till ICLRDebugging::CanUnloadNow-metoden anger att de kan friges, och då är det anroparens ansvar att frigöra handtagen.
Felsökningsprogrammet kan använda alla tillgängliga metoder för att hitta eller köpa felsökningsmodulen.
Viktigt
Med den här funktionen kan API-anroparen tillhandahålla moduler som innehåller körbar och eventuellt skadlig kod. Som en säkerhetsåtgärd bör anroparen inte använda ProvideLibrary
för att distribuera någon kod som den inte är villig att köra sig själv.
Om ett allvarligt säkerhetsproblem identifieras i ett bibliotek som redan har släppts, till exempel mscordbi.dll eller mscordacwks.dll, kan shim korrigeras för att identifiera de felaktiga versionerna av filerna. Shim kan sedan utfärda begäranden för de korrigerade versionerna av filerna och avvisa de felaktiga versionerna om de tillhandahålls som svar på en begäran. Detta kan bara inträffa om användaren har korrigerat till en ny version av shim. Odefinierade versioner förblir sårbara.
Krav
Plattformar: Se Systemkrav.
Huvudet: CorDebug.idl, CorDebug.h
Bibliotek: CorGuids.lib
.NET Framework versioner: Tillgänglig sedan 4