次の方法で共有


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

メンバーの名前を印刷するときに使用する代替名を指定します。 printNameNULL の場合、メンバーの名前を印刷するときにメンバーの実際の名前が使用されます。

size

fName で指定されたメンバーのターゲットのメモリ内のサイズをバイト単位で受け取ります。

メンバーが配列の場合、 size は配列内の要素の数を指定します。

fOptions

IG_DUMP_SYMBOL_INFO Ioctl 操作の動作を決定するフラグを指定します。 これらのフラグの説明については、「 DBG_DUMP_FIELD_XXX」を参照してください。

address

fName で指定されたメンバーのターゲットのメモリ内のアドレスを受け取ります。 SYM_DUMP_PARAMのシンボルの種類にアドレスが指定されていない場合。addraddress は、型のインスタンスの先頭を基準にしたメンバーのオフセットを受け取ります。 SYM_DUMP_PARAMの詳細については、「 IG_DUMP_SYMBOL_INFO」を参照してください。

fieldCallBack

fName で指定されたメンバーに関する情報と共に呼び出されるPSYM_DUMP_FIELD_CALLBACKコールバック関数を指定します。 コールバック関数には、フィールド情報と SYM_DUMP_PARAM の値を含む構造体が渡されます。context.

fOptions でDBG_DUMP_FIELD_NO_CALLBACK_REQが設定されている場合、fieldCallBackNULL の場合、または 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

メンバーがポインターであるかどうかを示すブール値を受け取ります。 メンバーがポインターでない場合、fPointerFALSE です。 メンバーが 32 ビット ポインターの場合は 1、メンバーが 64 ビット ポインターの場合は 3 です。

fArray

メンバーが配列であるかどうかを示すブール値を受け取ります。 フィールドが配列でない場合は fArrayFALSE、存在する場合は TRUE です。

fStruct

メンバーが構造体であるかどうかを示すブール値を受け取ります。 メンバーが構造体でない場合は fStructFALSE、存在する場合は TRUE です。

fConstant

メンバーが定数かどうかを示すブール値を受け取ります。 メンバーが定数でない場合は fConstantFALSE、存在する場合は TRUE です。

fStatic

Reserved

注釈

IG_DUMP_SYMBOL_INFOIoctl 操作を呼び出すときは、この構造体の fName メンバーに、この構造体が適用されるシンボルのメンバーの名前を設定し、fOptions メンバーに操作の目的の機能を反映させる必要があります。 他のメンバーは省略可能であるか、 Ioctl によって入力されます。

要件

要件
Header wdbgexts.h

こちらもご覧ください

DBG_DUMP_FIELD_XXX

IG_DUMP_SYMBOL_INFO

Ioctl

PSYM_DUMP_FIELD_CALLBACK