Sdílet prostřednictvím


Funkce EnumerateCLRs

Poskytuje mechanismus pro výčet clr v procesu.

Syntaxe

HRESULT EnumerateCLRs (
    [in]  DWORD      debuggeePID,
    [out] HANDLE**   ppHandleArrayOut,
    [out] LPWSTR**   ppStringArrayOut,
    [out] DWORD*     pdwArrayLengthOut
);

Parametry

debuggeePID
[v] Identifikátor procesu, ze kterého se načítá CLR, zobrazí výčet.

ppHandleArrayOut
[ven] Ukazatel na pole obsahující obslužné rutiny událostí, které slouží k pokračování ve spuštění CLR. U každého popisovače v poli není zaručeno, že je platný. Je-li platný, popisovač se použije jako událost pokračování-spuštění pro odpovídající modul runtime umístěný ve stejném indexu ppStringArrayOut.

ppStringArrayOut
[ven] Ukazatel na pole řetězců, které určují úplné cesty k clr načteným v procesu.

pdwArrayLengthOut
[ven] Ukazatel na DWORD, který obsahuje délku stejné velikosti ppHandleArrayOut a pdwArrayLengthOut.

Návratová hodnota

S_OK
Počet clr v procesu byl úspěšně určen a odpovídající popisovač a pole cest byly správně vyplněny.

E_INVALIDARG
Buď ppHandleArrayOut nebo ppStringArrayOut má hodnotu null, nebo pdwArrayLengthOut má hodnotu null.

E_OUTOFMEMORY
Funkce nemůže přidělit dostatek paměti pro pole popisovačů a cest.

E_FAIL (nebo jiné E_ návratové kódy)
Nelze vytvořit výčet načtených clr.

Poznámky

Pro cílový proces, který je identifikován debuggeePIDfunkcí , vrátí pole cest, ppStringArrayOutdo CLR načtené v procesu; pole obslužných rutin událostí, ppHandleArrayOutkteré mohou obsahovat událost pokračování-spuštění pro CLR ve stejném indexu; a velikost polí, pdwArrayLengthOutkterá určuje počet načtených clr.

V operačním systému Windows se debuggeePID mapuje na identifikátor procesu operačního systému.

Paměť pro ppHandleArrayOut a ppStringArrayOut přiděluje ji tato funkce. Chcete-li uvolnit přidělenou paměť, je nutné volat Funkci CloseCLREnumeration.

Tuto funkci lze volat s oběma parametry pole nastavenými na hodnotu null, aby se vrátil počet CLR v cílovém procesu. Z tohoto počtu může volající odvodit velikost vyrovnávací paměti, která bude vytvořena: (sizeof(HANDLE) * count) + (sizeof(LPWSTR) * count) + (sizeof(WCHAR*) * count * MAX_PATH).

Požadavky

Platformy: Viz podporované operační systémy .NET.

Hlavička: dbgshim.h

Knihovna: dbgshim.dll, libdbgshim.so, libdbgshim.dylib

Verze .NET: K dispozici od .NET Core 2.1