Partager via


structure FIELD_INFO (wdbgexts.h)

La structure FIELD_INFO est utilisée par l’opération IG_DUMP_SYMBOL_INFOIoctl 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 est NULL, le nom réel du membre est utilisé lors de l’impression du nom du membre.

size

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

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

fOptions

Spécifie les indicateurs qui déterminent le comportement de l’opération IG_DUMP_SYMBOL_INFO Ioctl. 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 type de symbole dans SYM_DUMP_PARAM.addr, adresse reçoit le décalage du membre par rapport au début d’une 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 relatives au membre spécifié par fName. La fonction de rappel est passée à une structure 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éfinie dans fOptions , fieldCallBack est null, ou le membre Options membre 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 d’une structure.

BitField.Position

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

BitField.Size

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

_BitField

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

fPointer

Reçoit une valeur booléenne qui indique si le membre est un pointeur. fPointer est 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 est FALSE si le champ n’est pas un tableau et TRUE le cas échéant.

fStruct

Reçoit une valeur booléenne qui indique si le membre est une structure. fStruct est FALSE si le membre n’est pas une structure et TRUE le cas échéant.

fConstant

Reçoit une valeur booléenne qui indique si le membre est une constante. fConstant est FALSE si le membre n’est pas une constante et TRUE si c’est le cas.

fStatic

Reserved

Remarques

Lors de l’appel de l’opération deIG_DUMP_SYMBOL_INFO Ioctl, 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.

Exigences

Exigence Valeur
d’en-tête wdbgexts.h

Voir aussi

DBG_DUMP_FIELD_XXX

IG_DUMP_SYMBOL_INFO

ioctl

PSYM_DUMP_FIELD_CALLBACK