Udostępnij za pośrednictwem


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 debuggeePIDfunkcję , funkcja zwraca tablicę ścieżek, ppStringArrayOutdo 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