Compartir a través de


Función EnumerateCLRs

Proporciona un mecanismo para enumerar los CLR en un proceso.

Sintaxis

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

Parámetros

debuggeePID
[in] Identificador de proceso del proceso desde el que se enumerarán las CLR cargadas.

ppHandleArrayOut
[out] Puntero a una matriz que contiene identificadores de eventos que se usan para continuar con un inicio clR. No se garantiza que cada identificador de la matriz sea válido. Si es válido, el identificador se usará como evento continue-startup para el tiempo de ejecución correspondiente que se encuentra en el mismo índice de ppStringArrayOut.

ppStringArrayOut
[out] Puntero a una matriz de cadenas que especifican rutas de acceso completas a CLR cargados en el proceso.

pdwArrayLengthOut
[out] Puntero a un DWORD que contiene la longitud del tamaño ppHandleArrayOut igual a y pdwArrayLengthOut.

Valor devuelto

S_OK
El número de CLR del proceso se determinó correctamente y las matrices de identificador y ruta de acceso correspondientes se rellenaron correctamente.

E_INVALIDARG
O ppHandleArrayOut es ppStringArrayOut null o pdwArrayLengthOut es NULL.

E_OUTOFMEMORY
La función no puede asignar suficiente memoria para las matrices de identificador y ruta de acceso.

E_FAIL (u otros E_ códigos de retorno)
No se pueden enumerar las CLR cargadas.

Observaciones

Para un proceso de destino identificado por debuggeePID, la función devuelve una matriz de rutas de acceso, ppStringArrayOut, a CLR cargados en el proceso; una matriz de identificadores de eventos, , ppHandleArrayOutque puede contener un evento de inicio de continuación para CLR en el mismo índice; y el tamaño de las matrices, pdwArrayLengthOut, que especifica el número de CLR que se cargan.

En el sistema operativo Windows, debuggeePID se asigna a un identificador de proceso del sistema operativo.

Esta función asigna la memoria de ppHandleArrayOut y ppStringArrayOut . Para liberar la memoria asignada, debe llamar a CloseCLREnumeration Function.

Se puede llamar a esta función con ambos parámetros de matriz establecidos en NULL para devolver el recuento de CLR en el proceso de destino. A partir de este recuento, un autor de llamada puede deducir el tamaño del búfer que se creará: (sizeof(HANDLE) * count) + (sizeof(LPWSTR) * count) + (sizeof(WCHAR*) * count * MAX_PATH).

Requisitos

Plataformas: Consulte Sistemas operativos compatibles con .NET.

Encabezado: dbgshim.h

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

Versiones de .NET: Disponible desde .NET Core 2.1