Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Fornisce un meccanismo per enumerare clr in un processo.
Sintassi
HRESULT EnumerateCLRs (
[in] DWORD debuggeePID,
[out] HANDLE** ppHandleArrayOut,
[out] LPWSTR** ppStringArrayOut,
[out] DWORD* pdwArrayLengthOut
);
Parametri
debuggeePID
[in] Identificatore del processo da cui verranno enumerate le clr caricate.
ppHandleArrayOut
[out] Puntatore a una matrice contenente handle di eventi usati per continuare l'avvio di CLR. Non è garantito che ogni handle nella matrice sia valido. Se valido, l'handle deve essere usato come evento di avvio continuo per il runtime corrispondente che si trova nello stesso indice di ppStringArrayOut.
ppStringArrayOut
[out] Puntatore a una matrice di stringhe che specificano percorsi completi a CLR caricati nel processo.
pdwArrayLengthOut
[out] Puntatore a un DWORD che contiene la lunghezza dell'oggetto di dimensioni ppHandleArrayOut uguali e pdwArrayLengthOut.
Valore restituito
S_OK
Il numero di CLR nel processo è stato determinato correttamente e le matrici di handle e percorso corrispondenti sono state riempite correttamente.
E_INVALIDARG
O ppHandleArrayOutppStringArrayOut è null oppure pdwArrayLengthOut è null.
E_OUTOFMEMORY
La funzione non è in grado di allocare memoria sufficiente per l'handle e le matrici di percorso.
E_FAIL (o altri E_ codici restituiti)
Impossibile enumerare clr caricati.
Osservazioni:
Per un processo di destinazione identificato da debuggeePID, la funzione restituisce una matrice di percorsi, ppStringArrayOut, a CLR caricati nel processo; una matrice di handle di eventi, ppHandleArrayOut, che può contenere un evento di avvio continuo per CLR nello stesso indice e le dimensioni delle matrici, pdwArrayLengthOut, che specifica il numero di CLR caricati.
Nel sistema operativo Windows viene debuggeePID eseguito il mapping a un identificatore del processo del sistema operativo.
La memoria per ppHandleArrayOut e ppStringArrayOut viene allocata da questa funzione. Per liberare la memoria allocata, è necessario chiamare CloseCLREnumeration Function.
Questa funzione può essere chiamata con entrambi i parametri di matrice impostati su Null per restituire il numero di CLR nel processo di destinazione. Da questo conteggio, un chiamante può dedurre le dimensioni del buffer che verrà creato: (sizeof(HANDLE) * count) + (sizeof(LPWSTR) * count) + (sizeof(WCHAR*) * count * MAX_PATH).
Requisiti
Piattaforme: Vedere Sistemi operativi supportati da .NET.
Intestazione: dbgshim.h
Libreria: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Versioni di .NET: Disponibile a partire da .NET Core 2.1