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 는 이 구조체의 크기보다 커야 합니다. 문자열은 하위 작업에서 출력의 일부이며, StrBufferIndex와 StrBufferChars는 요청에 전달된 출력 버퍼의 크기인 OutBufferSize보다 작아야 합니다.
문자열의 해석은 연산 값에 따라 달라집니다.
StrBufferChars
StrBufferIndex에서 지정한 ANSI 문자열 버퍼의 문자 크기를 지정합니다.
StrCharsNeeded
StrBufferIndex에서 지정한 문자열 버퍼에 필요한 문자 수를 받습니다.
DataBufferIndex
0으로 설정됩니다.
DataBufferBytes
0으로 설정됩니다.
DataBytesNeeded
0으로 설정
Status
작업에서 반환된 상태 코드를 받습니다. 요청에서 반환하는 값과 동일합니다.
Reserved
0으로 설정됩니다.
설명
이 구조체의 멤버는 DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 요청 작업에 대한 입력 및 출력 매개 변수로 사용됩니다. 대부분의 매개 변수 해석은 작업 멤버에서 지정한 대로 수행되는 특정 하위 작업에 따라 달라집니다.
이 구조체는 필요에 따라 구조체에 포함된 InStrIndex 및 StrBufferIndex 멤버를 사용하여 추가 데이터를 지정할 수 있습니다. 이 추가 데이터는 이 구조의 인스턴스 주소를 기준으로 지정됩니다. DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 요청 작업과 함께 사용할 경우 추가 데이터가 InBuffer 및 OutBuffer에 포함되며(적절하게) 이러한 두 버퍼의 크기에 포함되어야 합니다.
요구 사항
| 헤더 | wdbgexts.h(WdbgExts.h, DbgEng.h 포함) |
참조
피드백
다음에 대한 사용자 의견 제출 및 보기