Interface ICLRDataTarget
Fornece métodos para interação com um item de destino a Common linguagem tempo de execução (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 |
Descrição |
---|---|
Obtém o identificador do sistema operacional corrente thread. |
|
Obtém o endereço da memória base para a imagem especificada. |
|
Obtém um identificador para o tipo de conjunto de instruções que o processo de destino está usando. |
|
Obtém o dimensionar em bytes, de um ponteiro para o destino corrente. |
|
Obtém um ponteiro para o contexto do segmento com o identificador especificado. |
|
Obtém um valor no armazenamento local de thread (TLS) no índice especificado para o segmento especificado. |
|
Lê dados do endereço de memória virtual especificado para o buffer especificado. |
|
Chamado pelos linguagem tempo de execução (CLR) dados acesso serviços comuns para solicitar uma operação, conforme definido pela implementação. |
|
Define o contexto corrente do segmento especificado do processo de destino. |
|
Define um valor no armazenamento local de thread (TLS) do segmento especificado do processo de destino. |
|
Grava dados do buffer especificado para o endereço de memória virtual especificado. |
Comentários
O cliente de API (ou seja, o depurador) deve implementar essa interface conforme apropriado para o item de destino específico. Por exemplo, um processo em tempo real teria uma implementação diferente de um despejo de memória.
Requisitos
Plataformas: See Requisitos de sistema do .NET framework.
Cabeçalho: ClrData.idl
Biblioteca: CorGuids.lib
.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0