Udostępnij za pośrednictwem


ICLRDebuggingLibraryProvider::ProvideLibrary — Metoda

Pobiera interfejs wywołania zwrotnego dostawcy biblioteki, który umożliwia zlokalizowanie i załadowanie bibliotek debugowania specyficznych dla środowiska uruchomieniowego języka wspólnego (CLR) na żądanie.

Składnia

HRESULT ProvideLibrary(
     [in] const WCHAR* pwszFileName,
     [in] DWORD dwTimestamp,
     [in] DWORD dwSizeOfImage,
     [out] HMODULE* hModule);

Parametry

pwszFilename
[w] Nazwa żądanego modułu.

dwTimestamp
[w] Sygnatura czasowa daty przechowywana w nagłówku pliku COFF plików PE.

dwSizeOfImage
[w] Pole SizeOfImage przechowywane w opcjonalnym nagłówku pliku COFF plików PE.

hModule
[out] Dojście do żądanego modułu.

Wartość zwracana

Ta metoda zwraca następujące określone elementy HRESULTs, a także błędy HRESULT wskazujące niepowodzenie metody.

HRESULT Opis
S_OK Metoda została ukończona pomyślnie.

Wyjątki

Uwagi

ProvideLibrary umożliwia debugerowi udostępnianie modułów potrzebnych do debugowania określonych plików CLR, takich jak mscordbi.dll i mscordacwks.dll. Obsługa modułu musi pozostać prawidłowa, dopóki wywołanie metody ICLRDebugging::CanUnloadNow wskazuje, że mogą zostać uwolnione, w którym momencie jest to odpowiedzialność wywołującego za zwolnienie dojść.

Debuger może używać dowolnych dostępnych środków w celu zlokalizowania lub pozyskania modułu debugowania.

Ważne

Ta funkcja umożliwia obiektowi wywołującej interfejs API udostępnianie modułów zawierających pliki wykonywalne i potencjalnie złośliwego kodu. Jako środek ostrożności, obiekt wywołujący nie powinien używać ProvideLibrary do rozpowszechniania kodu, który nie jest gotów wykonać.

W przypadku wykrycia poważnego problemu z zabezpieczeniami w już wydanej bibliotece, takiej jak mscordbi.dll lub mscordacwks.dll, podkładka może zostać poprawiona w celu rozpoznania nieprawidłowych wersji plików. Podkładka może następnie wysyłać żądania dotyczące poprawek plików i odrzucać nieprawidłowe wersje, jeśli są one udostępniane w odpowiedzi na dowolne żądanie. Taka sytuacja może wystąpić tylko wtedy, gdy użytkownik wprowadził poprawkę do nowej wersji podkładki. Niespatchowane wersje pozostaną podatne na zagrożenia.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: CorDebug.idl, CorDebug.h

Biblioteki: CorGuids.lib

wersje .NET Framework: dostępne od 4

Zobacz też