FIELD_INFO 構造体 (wdbgexts.h)
FIELD_INFO構造体は、構造体内のメンバーに関する情報を提供するために、IG_DUMP_SYMBOL_INFOIoctl 操作によって使用されます。
構文
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;
メンバー
fName
この構造体が適用されるシンボルのメンバーの名前を指定します。 サブメンバーは、区切り記号 "." と "->" を使用して指定できます。 fOptions でDBG_DUMP_FIELD_FULL_NAMEが設定されていない限り、fName はメンバー名の先頭と見なされます。
printName
メンバーの名前を印刷するときに使用する代替名を指定します。 printName が NULL の場合、メンバーの名前を印刷するときにメンバーの実際の名前が使用されます。
size
fName で指定されたメンバーのターゲットのメモリ内のサイズをバイト単位で受け取ります。
メンバーが配列の場合、 size は配列内の要素の数を指定します。
fOptions
IG_DUMP_SYMBOL_INFO Ioctl 操作の動作を決定するフラグを指定します。 これらのフラグの説明については、「 DBG_DUMP_FIELD_XXX」を参照してください。
address
fName で指定されたメンバーのターゲットのメモリ内のアドレスを受け取ります。 SYM_DUMP_PARAMのシンボルの種類にアドレスが指定されていない場合。addr、 address は、型のインスタンスの先頭を基準にしたメンバーのオフセットを受け取ります。 SYM_DUMP_PARAMの詳細については、「 IG_DUMP_SYMBOL_INFO」を参照してください。
fieldCallBack
fName で指定されたメンバーに関する情報と共に呼び出されるPSYM_DUMP_FIELD_CALLBACKコールバック関数を指定します。 コールバック関数には、フィールド情報と SYM_DUMP_PARAM の値を含む構造体が渡されます。context.
fOptions でDBG_DUMP_FIELD_NO_CALLBACK_REQが設定されている場合、fieldCallBack が NULL の場合、または Ioctl に渡されるSYM_DUMP_PARAM構造体の Options メンバーにDBG_DUMP_CALL_FOR_EACHが設定されていない場合、コールバック関数は呼び出されません。 fOptions でDBG_DUMP_FIELD_COPY_FIELD_DATAが設定されている場合、fieldCallBack は使用されません。
pBuffer
fName で指定されたメンバーの値を受け取るバッファーを指定します。 このメンバーは、 fOptions でDBG_DUMP_FIELD_COPY_FIELD_DATAが設定されている場合にのみ使用されます。
TypeId
fName で指定されたメンバーの型の識別子を受け取ります。
FieldOffset
構造体内のメンバーのオフセットを受け取ります。
BufferSize
pBuffer バッファーのサイズをバイト単位で指定します。
BitField
構造体のビット フィールドに関する情報を受け取ります。
BitField.Position
ビット フィールドの開始位置を受け取ります。 これは、構造体の先頭からビット フィールドまでのビット数です。
BitField.Size
ビット フィールドのサイズをビット単位で受け取ります。
_BitField
構造体のビット フィールドに関する情報を受け取ります。
fPointer
メンバーがポインターであるかどうかを示すブール値を受け取ります。 メンバーがポインターでない場合、fPointer は FALSE です。 メンバーが 32 ビット ポインターの場合は 1、メンバーが 64 ビット ポインターの場合は 3 です。
fArray
メンバーが配列であるかどうかを示すブール値を受け取ります。 フィールドが配列でない場合は fArray が FALSE、存在する場合は TRUE です。
fStruct
メンバーが構造体であるかどうかを示すブール値を受け取ります。 メンバーが構造体でない場合は fStruct は FALSE、存在する場合は TRUE です。
fConstant
メンバーが定数かどうかを示すブール値を受け取ります。 メンバーが定数でない場合は fConstant は FALSE、存在する場合は TRUE です。
fStatic
Reserved
注釈
IG_DUMP_SYMBOL_INFOIoctl 操作を呼び出すときは、この構造体の fName メンバーに、この構造体が適用されるシンボルのメンバーの名前を設定し、fOptions メンバーに操作の目的の機能を反映させる必要があります。 他のメンバーは省略可能であるか、 Ioctl によって入力されます。
要件
要件 | 値 |
---|---|
Header | wdbgexts.h |