EnumerateCLRs, funkcja
Udostępnia mechanizm wyliczania clrs w procesie.
Składnia
HRESULT EnumerateCLRs (
[in] DWORD debuggeePID,
[out] HANDLE** ppHandleArrayOut,
[out] LPWSTR** ppStringArrayOut,
[out] DWORD* pdwArrayLengthOut
);
Parametry
debuggeePID
[in] Identyfikator procesu, z którego zostaną wyliczone załadowane środowiska CLRs.
ppHandleArrayOut
[out] Wskaźnik do tablicy zawierającej dojścia zdarzeń, które są używane do kontynuowania uruchamiania CLR. Każdy uchwyt w tablicy nie ma gwarancji, że jest prawidłowy. Jeśli jest prawidłowa, dojście ma być używane jako zdarzenie kontynuacji uruchamiania dla odpowiedniego środowiska uruchomieniowego znajdującego się w tym samym indeksie ppStringArrayOut
.
ppStringArrayOut
[out] Wskaźnik do tablicy ciągów, które określają pełne ścieżki do żądań CLRs załadowanych w procesie.
pdwArrayLengthOut
[out] Wskaźnik do DWORD, który zawiera długość równego rozmiaru ppHandleArrayOut
i pdwArrayLengthOut
.
Wartość zwracana
S_OK
Liczba żądań CLRs w procesie została pomyślnie określona, a odpowiednie tablice dojść i ścieżki zostały poprawnie wypełnione.
E_INVALIDARG
Albo ppHandleArrayOut
ma wartość null, albo pdwArrayLengthOut
ma wartość ppStringArrayOut
null.
E_OUTOFMEMORY
Funkcja nie może przydzielić wystarczającej ilości pamięci dla tablic dojścia i ścieżki.
E_FAIL
(lub inne E_
kody powrotne)
Nie można wyliczyć załadowanych clRs.
Uwagi
W przypadku procesu docelowego, który jest identyfikowany przez debuggeePID
funkcję , funkcja zwraca tablicę ścieżek, ppStringArrayOut
do CLRs załadowanych w procesie; tablica dojść zdarzeń, ppHandleArrayOut
, która może zawierać zdarzenie kontynuacji uruchamiania dla clR w tym samym indeksie; oraz rozmiar tablic, pdwArrayLengthOut
, który określa liczbę załadowanych klas CLRs.
W systemie debuggeePID
operacyjnym Windows mapuje na identyfikator procesu systemu operacyjnego.
Pamięć dla ppHandleArrayOut
i ppStringArrayOut
są przydzielane przez tę funkcję. Aby zwolnić przydzieloną pamięć, należy wywołać funkcję CloseCLREnumeration.
Tę funkcję można wywołać przy użyciu obu parametrów tablicy ustawionych na wartość null, aby zwrócić liczbę żądań CLRs w procesie docelowym. Z tej liczby obiekt wywołujący może wywnioskować rozmiar buforu, który zostanie utworzony: (sizeof(HANDLE) * count) + (sizeof(LPWSTR) * count) + (sizeof(WCHAR*) * count * MAX_PATH)
.
Wymagania
Platformy: zobacz Obsługiwane systemy operacyjne .NET.
Nagłówek: dbgshim.h
Biblioteka: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Wersje platformy .NET: dostępne od wersji .NET Core 2.1