다음을 통해 공유


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으로 지정된 멤버의 대상 메모리 크기(바이트)를 받습니다.

멤버가 배열인 경우 크기 는 배열의 요소 수를 지정합니다.

fOptions

IG_DUMP_SYMBOL_INFO Ioctl 작업의 동작을 결정하는 플래그를 지정합니다. 이러한 플래그에 대한 설명은 DBG_DUMP_FIELD_XXX 참조 하세요.

address

fName으로 지정된 멤버의 대상 메모리에 있는 주소를 받습니다. SYM_DUMP_PARAM 기호 형식에 대한 주소가 제공되지 않은 경우 addr, address는 형식의 instance 시작 부분을 기준으로 멤버의 오프셋을 받습니다. SYM_DUMP_PARAM 대한 자세한 내용은 IG_DUMP_SYMBOL_INFO.

fieldCallBack

fName에서 지정한 멤버에 대한 정보를 사용하여 호출할 PSYM_DUMP_FIELD_CALLBACK 콜백 함수를 지정합니다. 콜백 함수는 필드 정보와 값이 SYM_DUMP_PARAM 구조체로 전달됩니다. 컨텍스트입니다.

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

멤버가 배열인지 여부를 나타내는 부울 값을 받습니다. fArray 는 필드가 배열이 아니면 FALSE 이고 , TRUE 이면 FALSE입니다.

fStruct

멤버가 구조체인지 여부를 나타내는 부울 값을 받습니다. fStruct 는 멤버가 구조체가 아니면 FALSE 이고 , TRUE 이면 FALSE입니다.

fConstant

멤버가 상수인지 여부를 나타내는 부울 값을 받습니다. fConstant 는 멤버가 상수가 아니면 FALSE 이고 , TRUE 이면 FALSE입니다.

fStatic

Reserved

설명

IG_DUMP_SYMBOL_INFOIoctl 연산을 호출할 때 이 구조체의 fName 멤버를 이 구조체가 적용되는 기호 멤버의 이름으로 설정해야 하며 fOptions 멤버는 작업의 원하는 기능을 반영해야 합니다. 다른 멤버는 선택 사항이거나 Ioctl에 의해 채워집니다.

요구 사항

요구 사항
헤더 wdbgexts.h

추가 정보

DBG_DUMP_FIELD_XXX

IG_DUMP_SYMBOL_INFO

Ioctl

PSYM_DUMP_FIELD_CALLBACK