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请求 操作应执行的子操作。 其他一些成员的解释取决于 操作。 有关可能的子操作的列表,请参阅 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,然后就地修改 OutData ,以便 InData 中的输入参数也存在于 OutData 中。 有关此结构的详细信息,请参阅 DEBUG_TYPED_DATA

OutData 的解释取决于 Operation 的值。

InStrIndex

指定要用作操作输入的 ANSI 字符串的位置。 InStrIndex 可以为零,以指示输入参数不包含 ANSI 字符串。

字符串的位置相对于此EXT_TYPED_DATA结构的基址。 字符串必须遵循此结构,因此 InStrIndex 必须大于此结构的大小。 字符串是操作输入的一部分,InStrIndex 必须小于传递到请求的输入缓冲区的大小 InBufferSize

字符串的解释取决于 Operation 的值。

In32

指定要用作操作输入的 32 位参数。

In32 的解释取决于操作的值。

Out32

接收 32 位值作为操作的输出。

Out32 的解释取决于 Operation 的值。

In64

指定要用作操作输入的 64 位参数。

In64 的解释取决于操作的值。

Out64

接收 64 位值作为操作的输出。

Out64 的解释取决于 Operation 的值。

StrBufferIndex

指定将 ANSI 字符串作为操作输出返回的位置。 如果未从操作接收 ANSI 字符串,StrBufferIndex 可以为零。

字符串的位置相对于返回的EXT_TYPED_DATA结构的基址。 字符串必须遵循 结构,因此 StrBufferIndex 必须大于此结构的大小。 字符串是子操作输出的一部分, StrBufferIndexStrBufferChars 必须小于 OutBufferSize,即传递给 Request 的输出缓冲区的大小。

字符串的解释取决于 Operation 的值。

StrBufferChars

指定 StrBufferIndex 指定的 ANSI 字符串缓冲区的大小(以字符为单位)。

StrCharsNeeded

接收 StrBufferIndex 指定的字符串缓冲区所需的字符数。

DataBufferIndex

设置为零。

DataBufferBytes

设置为零。

DataBytesNeeded

设置为零,

Status

接收操作返回的状态代码。 此值与 Request 返回的值相同。

Reserved[8]

设置为零。

注解

此结构的成员用作 DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 请求 操作的输入和输出参数。 大多数参数的解释取决于由 Operation 成员指定的正在执行的特定子操作。

此结构可以选择性地指定其他数据(使用结构中包含的 成员 InStrIndexStrBufferIndex)。 此附加数据相对于此结构的实例的地址指定。 当与 DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 请求 操作一起使用时,其他数据会根据需要包含在 InBufferOutBuffer () 中,并应包含在这两个缓冲区的大小中。

要求

要求
Header wdbgexts.h (包括 WdbgExts.h、DbgEng.h)

另请参阅

DEBUG_REQUEST_EXT_TYPED_DATA_ANSI

DEBUG_TYPED_DATA

EXT_TDOP

请求