ICLRDebugging::OpenVirtualProcess (Método)
Obtiene la interfaz ICorDebugProcess correspondiente a un módulo de Common Language Runtime (CLR) cargado en el proceso.
HRESULT OpenVirtualProcess(
[in] ULONG64 moduleBaseAddress,
[in] IUnknown * pDataTarget,
[in] ICLRDebuggingLibraryProvider * pLibraryProvider,
[in] CLR_DEBUGGING_VERSION * pMaxDebuggerSupportedVersion,
[in] REFIID riidProcess,
[out, iid_is(riidProcess)] IUnknown ** ppProcess,
[in, out] CLR_DEBUGGING_VERSION * pVersion,
[out] CLR_DEBUGGING_PROCESS_FLAGS * pdwFlags);
Parámetros
moduleBaseAddress
[in] Dirección base de un módulo en el proceso de destino. Se devolverá COR_E_NOT_CLR si el módulo especificado no es un módulo de CLR.pDataTarget
[in] Abstracción de destino de datos que permite al depurador administrado inspeccionar el estado del proceso. El depurador debe implementar la interfaz ICorDebugDataTarget. Debe implementar la interfaz ICLRDebuggingLibraryProvider para admitir escenarios donde el CLR que se está depurando no está instalado localmente en el equipo.pLibraryProvider
[in] Interfaz de devolución de llamada de proveedor de bibliotecas que permite buscar y cargar a petición bibliotecas de depuración específicas de la versión. Este parámetro solo es necesario si ppProcess o pFlags no es null.pMaxDebuggerSupportedVersion
[in] Versión superior del CLR que este depurador puede depurar. Debe especificar las versiones principal, secundaria y de compilación a partir de la versión más reciente del CLR que este depurador admite, y establecer el número de revisión en 65535 para admitir futuras versiones de servicio de CLR en contexto.riidProcess
[in] Identificador de la interfaz ICorDebugProcess que se va a recuperar. Actualmente, los únicos valores aceptados son IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2 e IID_CORDEBUGPROCESS.ppProcess
[out] Puntero a la interfaz COM identificada por riidProcess.pVersion
[in, out] Versión del CLR. En la salida, este valor puede ser null. También puede señalar a una estructura CLR_DEBUGGING_VERSION, en cuyo caso el campo wStructVersion de la estructura se debe inicializar a 0 (cero).En la salida, la estructura CLR_DEBUGGING_VERSION devuelta se llenará con la información de versión para el CLR.
pdwFlags
[out] Marcas informativas sobre el runtime especificado. Vea el tema CLR_DEBUGGING_PROCESS_FLAGS para obtener una descripción de las marcas.
Valor devuelto
Este método devuelve los siguientes HRESULT específicos, así como errores HRESULT que indican la existencia de un error en el método.
HRESULT |
Descripción |
---|---|
S_OK |
El método se ha ejecutado correctamente. |
E_POINTER |
El valor de pDataTarget es null. |
CORDBG_E_LIBRARY_PROVIDER_ERROR |
La devolución de llamada ICLRDebuggingLibraryProvider devuelve un error o no proporciona un identificador válido. |
CORDBG_E_MISSING_DATA_TARGET_INTERFACE |
pDataTarget no implementa las interfaces de destino de datos necesarias para esta versión del runtime. |
CORDBG_E_NOT_CLR |
El módulo indicado no es un módulo CLR. También se devuelve este HRESULT cuando no se puede detectar un módulo CLR porque se ha dañado la memoria, el módulo no está disponible o la versión de CLR es posterior a la versión del código. |
CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL |
Esta versión del runtime no admite este modelo de depuración. Actualmente, las versiones de CLR anteriores a .NET Framework versión 4 no admiten el modelo de depuración. El parámetro de salida pwszVersion todavía está establecido en el valor correcto después de producirse este error. |
CORDBG_E_UNSUPPORTED_FORWARD_COMPAT |
La versión del CLR es mayor que la versión que este depurador dice admitir. El parámetro de salida pwszVersion todavía está establecido en el valor correcto después de producirse este error. |
E_NO_INTERFACE |
La interfaz riidProcess no está disponible. |
CORDBG_E_UNSUPPORTED_VERSION_STRUCT |
La estructura CLR_DEBUGGING_VERSION no tiene un valor reconocido para wStructVersion. El único valor aceptado en este momento es 0. |
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: 4