ICLRDebuggingLibraryProvider3::P rovideWindowsLibrary-metod
Hämtar ett gränssnitt för återanrop till biblioteksprovidern som gör att vanliga språkkörningsbibliotek (CLR) versionsspecifika felsökningsbibliotek kan lokaliseras och läsas in på begäran.
Syntax
HRESULT ProvideWindowsLibrary (
[in] const WCHAR* pwszFileName,
[in] const WCHAR* pwszRuntimeModule,
[in] LIBRARY_PROVIDER_INDEX_TYPE indexType,
[in] DWORD dwTimestamp,
[in] DWORD dwSizeOfImage,
[out] LPWSTR* ppResolvedModulePath);
Parametrar
pwszFilename
[i] Namnet på modulen som begärs.
pwszRuntimeModule
[i] Sökvägen till modulen runtime eller single-file.
indexType
[i] Den typ av indexinformation (dwTimestamp/dwSizeOfImage) som tillhandahålls. Se LIBRARY_PROVIDER_INDEX_TYPE uppräkning.
dwTimestamp
[i] Datumtidsstämpeln som lagras i COFF-filhuvudet för PE-filer.
dwSizeOfImage
[i] Fältet SizeOfImage
som lagras i den valfria COFF-filrubriken för PE-filer.
ppResolvedModulePath
[ut] Det här är en null-avslutad sökväg till moduldllen. I Windows ska den allokeras med CoTaskMemAlloc. På Unix ska den allokeras med malloc. Felet lämnar det orört. Se säkerhetsanteckningen nedan!
Returvärde
Den här metoden returnerar följande specifika HRESULT-fel samt HRESULT-fel som indikerar metodfel.
HRESULT | beskrivning |
---|---|
S_OK |
Metoden har slutförts. |
Kommentarer
ProvideWindowsLibrary
tillåter felsökningsprogrammet att tillhandahålla moduler som behövs för felsökning av specifika CLR-filer, till exempel mscordbi.dll och mscordacwks.dll.
Felsökningsprogrammet kan använda alla tillgängliga metoder för att hitta eller skaffa 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 ProvideWindowsLibrary
för att distribuera någon kod som den inte är villig att köra själv.
Om ett allvarligt säkerhetsproblem upptäcks 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. Ej kopplade versioner förblir sårbara.
Behov
Plattformar: Se operativsystem som stöds av .NET.
Rubrik: dbgshim.h
Bibliotek: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
.NET-versioner: Finns sedan .NET Core 2.1