Partager via


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

ICLRDataTarget::GetCurrentThreadID, méthode

Obtient l'identificateur de système d'exploitation pour le thread actuel.

ICLRDataTarget::GetImageBase, méthode

Obtient l'adresse de mémoire de base pour l'image spécifiée.

ICLRDataTarget::GetMachineType, méthode

Obtient un identificateur pour le genre de jeu d'instructions que le processus cible utilise.

ICLRDataTarget::GetPointerSize, méthode

Obtient la taille, en octets, d'un pointeur vers la cible actuelle.

ICLRDataTarget::GetThreadContext, méthode

Obtient un pointeur vers le contexte du thread avec l'identificateur spécifié.

ICLRDataTarget::GetTLSValue, méthode

Obtient une valeur dans le stockage local des threads, à l'index indiqué pour le thread spécifié.

ICLRDataTarget::ReadVirtual, méthode

Lit les données de l'adresse de mémoire virtuelle spécifiée dans la mémoire tampon spécifiée.

ICLRDataTarget::Request, méthode

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.

ICLRDataTarget::SetThreadContext, méthode

Définit le contexte actuel du thread spécifié dans le processus cible.

ICLRDataTarget::SetTLSValue, méthode

Définit une valeur dans le stockage local des threads (TLS) du thread spécifié dans le processus cible.

ICLRDataTarget::WriteVirtual, méthode

É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

Voir aussi

Référence

ICLRDataTarget2

Autres ressources

Interfaces de débogage