Debugging Tools for Windows

FIELD_INFO

The FIELD_INFO structure is used by the IG_DUMP_SYMBOL_INFO Ioctl operation to provide information about a member in a structure.

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 _BitField {
        USHORT  Position;
        USHORT  Size;
    }  BitField;
    ULONG  fPointer:2;
    ULONG  fArray:1;
    ULONG  fStruct:1;
    ULONG  fConstant:1;
    ULONG  Reserved:27;
} FIELD_INFO, *PFIELD_INFO;

Members

fName
Specifies the name of the symbol's member to which this structure applies. Submembers can be specified using the delimiters "." and "->". Unless DBG_DUMP_FIELD_FULL_NAME is set in fOptions, fName is considered to be the beginning of the member name.
printName
Specifies an alternative name to use when printing the name of the member. If printName is NULL, the actual name of the member is used when printing the name of the member.
size
Receives the size in the target's memory, in bytes, of the member that is specified by fName.

If the member is an array, size specifies the number of elements in the array.

fOptions
Specifies the flags that determine the behavior of the IG_DUMP_SYMBOL_INFO Ioctl operation. For a description of these flags, see DBG_DUMP_FIELD_XXX.
address
Receives the address in the target's memory of the member that is specified by fName. If no address is supplied for the symbol type in SYM_DUMP_PARAM.addr, address receives the offset of the member relative to the beginning of an instance of the type. For more information about SYM_DUMP_PARAM, see IG_DUMP_SYMBOL_INFO.
fieldCallBack
Specifies a PSYM_DUMP_FIELD_CALLBACK callback function to be called with the information about the member that is specified by fName. The callback function is passed a structure with the field information and the value of SYM_DUMP_PARAM.context.

No callback function is called if DBG_DUMP_FIELD_NO_CALLBACK_REQ is set in fOptions, fieldCallBack is NULL, or the Options member of the SYM_DUMP_PARAM structure passed to Ioctl does not have DBG_DUMP_CALL_FOR_EACH set. If DBG_DUMP_FIELD_COPY_FIELD_DATA is set in fOptions, fieldCallBack is not used.

pBuffer
Specifies a buffer to receive the value of the member specified by fName. This member is only used if DBG_DUMP_FIELD_COPY_FIELD_DATA is set in fOptions.
TypeId
Receives the identifier for the type of the member that is specified by fName.
FieldOffset
Receives the offset of the member within the structure.
BufferSize
Specifies the size, in bytes, of the pBuffer buffer.
BitField
Receives information about bit fields in a structure.
Position
Receives the start position of the bit field. This is the number of bits from to the beginning of the structure to the bit field.
Size
Receives the size, in bits, of the bit field.
fPointer
Receives a Boolean value that indicates whether the member is a pointer. fPointer is FALSE if the member is not a pointer. It is 1 if the member is a 32-bit pointer and 3 if the member is a 64-bit pointer.
fArray
Receives a Boolean value that indicates whether the member is an array. fArray is FALSE if the field is not an array and TRUE if it is.
fStruct
Receives a Boolean value that indicates whether the member is a structure. fStruct is FALSE if the member is not a structure and TRUE if it is.
fConstant
Receives a Boolean value that indicates whether the member is a constant. fConstant is FALSE if the member is not a constant and TRUE if it is.

Comments

When calling the IG_DUMP_SYMBOL_INFO Ioctl operation, the fName member of this structure should be set to the name of the symbol's member to which this structure applies and the fOptions member should reflect the desired functionality of the operation. The other members are either optional, or are filled in by Ioctl.

See Also

IG_DUMP_SYMBOL_INFO, Ioctl, DBG_DUMP_FIELD_XXX, PSYM_DUMP_FIELD_CALLBACK

Build machine: CAPEBUILD