Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Proporciona métodos que permiten la interacción con un elemento de destino de Common Language Runtime (CLR).
interface ICLRDataTarget : IUnknown {
HRESULT GetCurrentThreadID (
[out] ULONG32 *threadID
);
HRESULT GetImageBase (
[in, string] LPCWSTR imagePath,
[out] CLRDATA_ADDRESS *baseAddress
);
HRESULT GetMachineType (
[out] ULONG32 *machineType
);
HRESULT GetPointerSize (
[out] ULONG32 *pointerSize
);
HRESULT GetThreadContext (
[in] ULONG32 threadID,
[in] ULONG32 contextFlags,
[in] ULONG32 contextSize,
[out, size_is(contextSize)]
BYTE *context
);
HRESULT GetTLSValue (
[in] ULONG32 threadID,
[in] ULONG32 index,
[out] CLRDATA_ADDRESS *value
);
HRESULT ReadVirtual (
[in] CLRDATA_ADDRESS address,
[out, size_is(bytesRequested), length_is(*bytesRead)]
BYTE *buffer,
[in] ULONG32 bytesRequested,
[out] ULONG32 *bytesRead
);
HRESULT Request (
[in] ULONG32 reqCode,
[in] ULONG32 inBufferSize,
[in, size_is(inBufferSize)]
BYTE *inBuffer,
[in] ULONG32 outBufferSize,
[out, size_is(outBufferSize)]
BYTE *outBuffer
);
HRESULT SetThreadContext (
[in] ULONG32 threadID,
[in] ULONG32 contextSize,
[in, size_is(contextSize)]
BYTE *context
);
HRESULT SetTLSValue (
[in] ULONG32 threadID,
[in] ULONG32 index,
[in] CLRDATA_ADDRESS value
);
HRESULT WriteVirtual (
[in] CLRDATA_ADDRESS address,
[in, size_is(bytesRequested)]
BYTE *buffer,
[in] ULONG32 bytesRequested,
[out] ULONG32 *bytesWritten
);
};
Métodos
Método |
Descripción |
|---|---|
Obtiene el identificador del sistema operativo para el subproceso actual. |
|
Obtiene la dirección de memoria base de la imagen especificada. |
|
Obtiene un identificador de la clase de conjunto de instrucciones que está utilizando el proceso de destino. |
|
Obtiene el tamaño en bytes de un puntero al destino actual. |
|
Obtiene un puntero al contexto del subproceso con el identificador especificado. |
|
Obtiene un valor en el índice especificado del almacenamiento local de subprocesos (TLS) para el subproceso indicado. |
|
Lee los datos de la dirección de memoria virtual especificada en el búfer especificado. |
|
Llamado por los servicios de acceso a datos de Common Language Runtime (CLR) para solicitar una operación, según lo definido por la implementación. |
|
Establece el contexto actual del subproceso especificado en el proceso de destino. |
|
Establece un valor en el almacenamiento local de subprocesos (TLS) del subproceso especificado en el proceso de destino. |
|
Escribe los datos del búfer especificado en la dirección de memoria virtual especificada. |
Comentarios
El cliente API (es decir, el depurador) debe implementar esta interfaz según corresponda para el elemento de destino especificado. Por ejemplo, un proceso activo tendría una implementación diferente de la de un volcado de memoria.
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: ClrData.idl
Biblioteca: CorGuids.lib
Versiones de .NET Framework: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0