ICLRDataTarget
Mise à jour : novembre 2007
Fournit des méthodes d'interaction avec un élément cible du 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éthodes
Méthode |
Description |
---|---|
Obtient l'identificateur de système d'exploitation pour le thread actuel. |
|
Obtient l'adresse de mémoire de base pour l'image spécifiée. |
|
Obtient un identificateur pour le genre de jeu d'instructions que le processus cible utilise. |
|
Obtient la taille, en octets, d'un pointeur vers la cible actuelle. |
|
Obtient un pointeur vers le contexte du thread avec l'identificateur spécifié. |
|
Obtient une valeur dans le stockage local des threads, à l'index indiqué pour le thread spécifié. |
|
Lit les données de l'adresse de mémoire virtuelle spécifiée dans la mémoire tampon spécifiée. |
|
Appelé par les services d'accès aux données du Common Language Runtime (CLR) pour demander une opération définie par l'implémentation. |
|
Définit le contexte actuel du thread spécifié dans le processus cible. |
|
Définit une valeur dans le stockage local des threads (TLS) du thread spécifié dans le processus cible. |
|
Écrit des données de la mémoire tampon spécifiée vers l'adresse de mémoire virtuelle spécifiée. |
Notes
Le client API (c'est-à-dire le débogueur) doit implémenter cette interface de manière appropriée pour l'élément cible particulier. Par exemple, un processus actif aurait une implémentation différente de celle d'une image mémoire.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : ClrData.idl
Bibliothèque : CorGuids.lib
Versions du .NET Framework : 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0