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 必须大于此结构的大小。 字符串是子操作输出的一部分, StrBufferIndex 加 StrBufferChars 必须小于 OutBufferSize,即传递给 Request 的输出缓冲区的大小。
字符串的解释取决于 Operation 的值。
StrBufferChars
指定 StrBufferIndex 指定的 ANSI 字符串缓冲区的大小(以字符为单位)。
StrCharsNeeded
接收 StrBufferIndex 指定的字符串缓冲区所需的字符数。
DataBufferIndex
设置为零。
DataBufferBytes
设置为零。
DataBytesNeeded
设置为零,
Status
接收操作返回的状态代码。 此值与 Request 返回的值相同。
Reserved[8]
设置为零。
注解
此结构的成员用作 DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 请求 操作的输入和输出参数。 大多数参数的解释取决于由 Operation 成员指定的正在执行的特定子操作。
此结构可以选择性地指定其他数据(使用结构中包含的 成员 InStrIndex 和 StrBufferIndex)。 此附加数据相对于此结构的实例的地址指定。 当与 DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 请求 操作一起使用时,其他数据会根据需要包含在 InBuffer 和 OutBuffer () 中,并应包含在这两个缓冲区的大小中。
要求
要求 | 值 |
---|---|
Header | wdbgexts.h (包括 WdbgExts.h、DbgEng.h) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈