Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Umożliwia debugerowi udostępnienie ścieżki do biblioteki debugowania środowiska uruchomieniowego języka wspólnego specyficznego dla wersji (CLR) w systemach macOS i Linux.
Składnia
HRESULT ProvideUnixLibrary (
[in] const WCHAR* pwszFileName,
[in] const WCHAR* pwszRuntimeModule,
[in] LIBRARY_PROVIDER_INDEX_TYPE indexType,
[in] BYTE* pbBuildId,
[in] int iBuildIdSize,
[out] LPWSTR* ppResolvedModulePath);
Parametry
pwszFilename
[in] Nazwa żądanego modułu.
pwszRuntimeModule
[in] Ścieżka modułu środowiska uruchomieniowego lub pojedynczego pliku.
indexType
[in] Podany typ informacji o indeksie (pBuildId). Zobacz LIBRARY_PROVIDER_INDEX_TYPE wyliczenie .
pbBuildId
[in] Identyfikator kompilacji modułu systemu Linux lub macOS. Może mieć wartość null, jeśli wystąpił problem podczas pobierania identyfikatora kompilacji.
iBuildIdSize
[in] Liczba bajtów w tablicy pbBuildId. Może to być wartość 0, jeśli wystąpił problem podczas pobierania identyfikatora kompilacji.
ppResolvedModulePath
[out] Jest to ścieżka zakończona o wartości null do biblioteki dll modułu. W systemie Unix należy go przydzielić za pomocą polecenia CoTaskMemAlloc. W systemie Unix należy go przydzielić malloc. Niepowodzenie pozostawia go nietknięte. Zobacz poniższą notatkę zabezpieczeń!
Wartość zwracana
Ta metoda zwraca następujące konkretne błędy HRESULT, a także HRESULT, które wskazują błąd metody.
| HRESULT | Opis |
|---|---|
S_OK |
Metoda została ukończona pomyślnie. |
Uwagi
ProvideUnixLibrary umożliwia debugerowi udostępnianie modułów potrzebnych do debugowania określonych plików CLR, takich jak mscordbi.dll i mscordacwks.dll.
Debuger może użyć dowolnych dostępnych środków do zlokalizowania lub pozyskania modułu debugowania.
Ważne
Ta funkcja umożliwia wywołującym interfejs API udostępnianie modułów zawierających pliki wykonywalne i potencjalnie złośliwe kod. Jako środek ostrożności, obiekt wywołujący nie ProvideUnixLibrary powinien używać do rozpowszechniania żadnego kodu, którego nie chce wykonać.
Jeśli wykryto poważny problem 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 wersji plików i odrzucać nieprawidłowe wersje, jeśli są one podane w odpowiedzi na każde żądanie. Taka sytuacja może wystąpić tylko wtedy, gdy użytkownik wprowadził poprawkę do nowej wersji podkładki. Wersje bez poprawek pozostaną podatne na zagrożenia.
Wymagania
Platformy: Zobacz Obsługiwane systemy operacyjne platformy .NET.
Nagłówek: dbgshim.h
Biblioteka: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Wersje platformy .NET: Dostępne od wersji .NET Core 2.1