Partager via


FIELD_INFO structure (wdbgexts.h)

La structure FIELD_INFO est utilisée par l’opération Ioctl IG_DUMP_SYMBOL_INFO pour fournir des informations sur un membre dans une structure.

Syntaxe

typedef struct _FIELD_INFO {
  PUCHAR    fName;
  PUCHAR    printName;
  ULONG     size;
  ULONG     fOptions;
  ULONG64   address;
  union {
    PVOID fieldCallBack;
    PVOID pBuffer;
  };
  ULONG     TypeId;
  ULONG     FieldOffset;
  ULONG     BufferSize;
  struct {
    USHORT Position;
    USHORT Size;
  } BitField;
  _BitField _BitField;
  ULONG     fPointer : 2;
  ULONG     fArray : 1;
  ULONG     fStruct : 1;
  ULONG     fConstant : 1;
  ULONG     fStatic : 1;
  ULONG     Reserved : 26;
} FIELD_INFO, *PFIELD_INFO;

Membres

fName

Spécifie le nom du membre du symbole auquel cette structure s’applique. Les sous-membres peuvent être spécifiés à l’aide des délimiteurs « . » et « -> ». Sauf si DBG_DUMP_FIELD_FULL_NAME est défini dans fOptions, fName est considéré comme le début du nom du membre.

printName

Spécifie un autre nom à utiliser lors de l’impression du nom du membre. Si printName a la valeur NULL, le nom réel du membre est utilisé lors de l’impression du nom du membre.

size

Reçoit la taille dans la mémoire de la cible, en octets, du membre spécifié par fName.

Si le membre est un tableau, size spécifie le nombre d’éléments dans le tableau.

fOptions

Spécifie les indicateurs qui déterminent le comportement de l’opération Ioctl IG_DUMP_SYMBOL_INFO. Pour obtenir une description de ces indicateurs, consultez DBG_DUMP_FIELD_XXX.

address

Reçoit l’adresse dans la mémoire de la cible du membre spécifié par fName. Si aucune adresse n’est fournie pour le symbole, tapez dans SYM_DUMP_PARAM. addr, address reçoit le décalage du membre par rapport au début d’un instance du type. Pour plus d’informations sur SYM_DUMP_PARAM, consultez IG_DUMP_SYMBOL_INFO.

fieldCallBack

Spécifie une fonction de rappel PSYM_DUMP_FIELD_CALLBACK à appeler avec les informations sur le membre spécifié par fName. Une structure est transmise à la fonction de rappel avec les informations de champ et la valeur de SYM_DUMP_PARAM. contexte.

Aucune fonction de rappel n’est appelée si DBG_DUMP_FIELD_NO_CALLBACK_REQ est défini dans fOptions, fieldCallBack a la valeur NULL ou si le membre Options de la structure SYM_DUMP_PARAM passée à Ioctl n’a pas DBG_DUMP_CALL_FOR_EACH défini. Si DBG_DUMP_FIELD_COPY_FIELD_DATA est défini dans fOptions, fieldCallBack n’est pas utilisé.

pBuffer

Spécifie une mémoire tampon pour recevoir la valeur du membre spécifié par fName. Ce membre est utilisé uniquement si DBG_DUMP_FIELD_COPY_FIELD_DATA est défini dans fOptions.

TypeId

Reçoit l’identificateur du type du membre spécifié par fName.

FieldOffset

Reçoit le décalage du membre dans la structure.

BufferSize

Spécifie la taille, en octets, de la mémoire tampon pBuffer .

BitField

Reçoit des informations sur les champs de bits dans une structure.

BitField.Position

Reçoit la position de début du champ bit. Il s’agit du nombre de bits compris entre le début de la structure et le champ de bits.

BitField.Size

Reçoit la taille, en bits, du champ de bits.

_BitField

Reçoit des informations sur les champs de bits dans une structure.

fPointer

Reçoit une valeur booléenne qui indique si le membre est un pointeur. fPointer a la valeur FALSE si le membre n’est pas un pointeur. Il est 1 si le membre est un pointeur 32 bits et 3 si le membre est un pointeur 64 bits.

fArray

Reçoit une valeur booléenne qui indique si le membre est un tableau. fArray a la valeur FALSE si le champ n’est pas un tableau et TRUE s’il l’est.

fStruct

Reçoit une valeur booléenne qui indique si le membre est une structure. fStruct a la valeur FALSE si le membre n’est pas une structure et TRUE s’il l’est.

fConstant

Reçoit une valeur booléenne qui indique si le membre est une constante. fConstant a la valeur FALSE si le membre n’est pas une constante et TRUE si elle l’est.

fStatic

Reserved

Remarques

Lors de l’appel de l’opération ioctl IG_DUMP_SYMBOL_INFO, le membre fName de cette structure doit être défini sur le nom du membre du symbole auquel cette structure s’applique et le membre fOptions doit refléter la fonctionnalité souhaitée de l’opération. Les autres membres sont facultatifs ou sont renseignés par Ioctl.

Configuration requise

Condition requise Valeur
En-tête wdbgexts.h

Voir aussi

DBG_DUMP_FIELD_XXX

IG_DUMP_SYMBOL_INFO

Ioctl

PSYM_DUMP_FIELD_CALLBACK