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 |