Uppräknings-CLRs-funktion
Tillhandahåller en mekanism för att räkna upp CLR i en process.
Syntax
HRESULT EnumerateCLRs (
[in] DWORD debuggeePID,
[out] HANDLE** ppHandleArrayOut,
[out] LPWSTR** ppStringArrayOut,
[out] DWORD* pdwArrayLengthOut
);
Parametrar
debuggeePID
[i] Processidentifierare för den process som inlästa CLR:er räknas upp från.
ppHandleArrayOut
[ut] Pekare till en matris som innehåller händelsehandtag som används för att fortsätta en CLR-start. Varje referens i matrisen är inte garanterad att vara giltig. Om det är giltigt ska handtaget användas som fortsätt-start-händelsen för motsvarande körning som finns i samma index för ppStringArrayOut
.
ppStringArrayOut
[ut] Pekare till en matris med strängar som anger fullständiga sökvägar till CLR:er som lästs in i processen.
pdwArrayLengthOut
[ut] Pekare till ett DWORD som innehåller längden på lika stora ppHandleArrayOut
och pdwArrayLengthOut
.
Returvärde
S_OK
Antalet CLR:er i processen fastställdes och motsvarande referens- och sökvägsmatriser fylldes i korrekt.
E_INVALIDARG
Antingen ppHandleArrayOut
eller ppStringArrayOut
är null eller pdwArrayLengthOut
är null.
E_OUTOFMEMORY
Funktionen kan inte allokera tillräckligt med minne för referens- och sökvägsmatriserna.
E_FAIL
(eller andra E_
returkoder)
Det går inte att räkna upp inlästa CLR:er.
Kommentarer
För en målprocess som identifieras av debuggeePID
returnerar funktionen en matris med sökvägar, ppStringArrayOut
, till CLR:er som lästs in i processen, en matris med händelsehandtag, ppHandleArrayOut
, som kan innehålla en fortsätt-start-händelse för CLR vid samma index och storleken på matriserna, pdwArrayLengthOut
, som anger antalet CLR som läses in.
I Windows-operativsystemet debuggeePID
mappar du till en os-processidentifierare.
Minnet för ppHandleArrayOut
och ppStringArrayOut
allokeras av den här funktionen. Om du vill frigöra det allokerade minnet måste du anropa Funktionen CloseCLREnumeration.
Den här funktionen kan anropas med båda matrisparametrarna inställda på null för att returnera antalet CLR i målprocessen. Från det här antalet kan en anropare härleda storleken på bufferten som ska skapas: (sizeof(HANDLE) * count) + (sizeof(LPWSTR) * count) + (sizeof(WCHAR*) * count * MAX_PATH)
.
Behov
Plattformar: Se operativsystem som stöds av .NET.
Rubrik: dbgshim.h
Bibliotek: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
.NET-versioner: Finns sedan .NET Core 2.1