EXT_TYPED_DATA 구조체(wdbgexts.h)

EXT_TYPED_DATA 구조체는 DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 요청 작업으로 전달되고 반환됩니다. 작업에 대한 입력 및 출력 매개 변수를 포함하며 수행할 특정 하위 작업을 지정합니다.

구문

typedef struct _EXT_TYPED_DATA {
  IN EXT_TDOP          Operation;
  IN ULONG             Flags;
  IN DEBUG_TYPED_DATA  InData;
  OUT DEBUG_TYPED_DATA OutData;
  IN ULONG             InStrIndex;
  IN ULONG             In32;
  OUT ULONG            Out32;
  IN ULONG64           In64;
  OUT ULONG64          Out64;
  OUT ULONG            StrBufferIndex;
  IN ULONG             StrBufferChars;
  OUT ULONG            StrCharsNeeded;
  IN OUT ULONG         DataBufferIndex;
  IN ULONG             DataBufferBytes;
  OUT ULONG            DataBytesNeeded;
  OUT HRESULT          Status;
  ULONG64              Reserved[8];
} EXT_TYPED_DATA, *PEXT_TYPED_DATA;

구성원

Operation

DEBUG_REQUEST_EXT_TYPED_DATA_ANSI Request 작업이 수행해야 하는 하위 작업을 지정합니다. 다른 멤버 중 일부의 해석은 연산에 따라 달라집니다. 가능한 하위 작업 목록은 EXT_TDOP 참조하세요.

Flags

데이터가 있는 대상의 메모리를 설명하는 비트 플래그를 지정합니다. 플래그가 없는 경우 데이터는 가상 메모리에 있는 것으로 간주됩니다. 다음 플래그 중 하나가 있을 수 있습니다.

플래그 설명
EXT_TDF_PHYSICAL_DEFAULT 형식화된 데이터는 실제 메모리에 있으며 이 실제 메모리는 기본 메모리 캐싱을 사용합니다.
EXT_TDF_PHYSICAL_CACHED 형식화된 데이터는 실제 메모리에 있으며 이 실제 메모리는 캐시됩니다.
EXT_TDF_PHYSICAL_UNCACHED 형식화된 데이터는 실제 메모리에 있으며 이 실제 메모리는 캐시되지 않습니다.
EXT_TDF_PHYSICAL_WRITE_COMBINED 형식화된 데이터는 실제 메모리에 있으며 이 실제 메모리는 쓰기 결합됩니다.

InData

작업에 대한 입력으로 사용할 형식화된 데이터를 지정합니다. 이 구조에 대한 자세한 내용은 DEBUG_TYPED_DATA 참조하세요.

InData의 해석은 Operation의 값에 따라 달라집니다.

OutData

작업에서 출력으로 형식화된 데이터를 받습니다. 형식화된 데이터를 OutData로 반환하는 모든 하위 작업은 처음에 InData의 콘텐츠를 OutData에 복사한 다음 InData의 입력 매개 변수가 OutData에도 있도록 OutData를 수정합니다. 이 구조에 대한 자세한 내용은 DEBUG_TYPED_DATA 참조하세요.

OutData의 해석은 Operation의 값에 따라 달라집니다.

InStrIndex

작업에 대한 입력으로 사용할 ANSI 문자열의 위치를 지정합니다. InStrIndex 는 입력 매개 변수에 ANSI 문자열이 포함되지 않음을 나타내기 위해 0일 수 있습니다.

문자열의 위치는 이 EXT_TYPED_DATA 구조체의 기준 주소를 기준으로 합니다. 문자열은 이 구조체를 따라야 하므로 InStrIndex 는 이 구조체의 크기보다 커야 합니다. 문자열은 작업에 대한 입력의 일부이며 InStrIndex요청에 전달된 입력 버퍼의 크기인 InBufferSize보다 작아야 합니다.

문자열의 해석은 연산 값에 따라 달라집니다.

In32

작업에 대한 입력으로 사용할 32비트 매개 변수를 지정합니다.

In32의 해석은 Operation의 값에 따라 달라집니다.

Out32

작업에서 출력으로 32비트 값을 받습니다.

Out32의 해석은 연산 값에 따라 달라집니다.

In64

작업에 대한 입력으로 사용할 64비트 매개 변수를 지정합니다.

In64의 해석은 Operation의 값에 따라 달라집니다.

Out64

작업에서 출력으로 64비트 값을 받습니다.

Out64의 해석은 연산 값에 따라 달라집니다.

StrBufferIndex

ANSI 문자열을 작업의 출력으로 반환할 위치를 지정합니다. 작업에서 ANSI 문자열을 받을 수 없는 경우 StrBufferIndex는 0일 수 있습니다.

문자열의 위치는 반환된 EXT_TYPED_DATA 구조체의 기준 주소를 기준으로 합니다. 문자열은 구조체를 따라야 하므로 StrBufferIndex 는 이 구조체의 크기보다 커야 합니다. 문자열은 하위 작업에서 출력의 일부이며, StrBufferIndexStrBufferChars요청에 전달된 출력 버퍼의 크기인 OutBufferSize보다 작아야 합니다.

문자열의 해석은 연산 값에 따라 달라집니다.

StrBufferChars

StrBufferIndex에서 지정한 ANSI 문자열 버퍼의 문자 크기를 지정합니다.

StrCharsNeeded

StrBufferIndex에서 지정한 문자열 버퍼에 필요한 문자 수를 받습니다.

DataBufferIndex

0으로 설정됩니다.

DataBufferBytes

0으로 설정됩니다.

DataBytesNeeded

0으로 설정

Status

작업에서 반환된 상태 코드를 받습니다. 요청에서 반환하는 값과 동일합니다.

Reserved

0으로 설정됩니다.

설명

이 구조체의 멤버는 DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 요청 작업에 대한 입력 및 출력 매개 변수로 사용됩니다. 대부분의 매개 변수 해석은 작업 멤버에서 지정한 대로 수행되는 특정 하위 작업에 따라 달라집니다.

이 구조체는 필요에 따라 구조체에 포함된 InStrIndexStrBufferIndex 멤버를 사용하여 추가 데이터를 지정할 수 있습니다. 이 추가 데이터는 이 구조의 인스턴스 주소를 기준으로 지정됩니다. DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 요청 작업과 함께 사용할 경우 추가 데이터가 InBuffer 및 OutBuffer에 포함되며(적절하게) 이러한 두 버퍼의 크기에 포함되어야 합니다.

요구 사항

   
헤더 wdbgexts.h(WdbgExts.h, DbgEng.h 포함)

참조

DEBUG_REQUEST_EXT_TYPED_DATA_ANSI

DEBUG_TYPED_DATA

EXT_TDOP

요청