IDebugDataSpaces3::ReadProcessorSystemData 方法 (dbgeng.h)
ReadProcessorSystemData 方法返回有关指定处理器的数据。
语法
HRESULT ReadProcessorSystemData(
[in] ULONG Processor,
[in] ULONG Index,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG DataSize
);
参数
[in] Processor
指定要读取其数据的处理器。
[in] Index
指定要读取的数据类型。 下表包含有效值。 成功完成后, 缓冲区缓冲区 中返回的数据具有中间列指定的类型。
值 | 说明 |
---|---|
DEBUG_DATA_KPCR_OFFSET |
返回处理器的处理器控制区域的虚拟地址 (PCR) 。
在这种情况下,可以将 Buffer 参数视为类型PULONG64。 |
DEBUG_DATA_KPRCB_OFFSET |
返回处理器的处理器控制块 (PRCB) 的虚拟地址。
在这种情况下,可以将 Buffer 参数视为类型PULONG64。 |
DEBUG_DATA_KTHREAD_OFFSET |
返回处理器上运行的系统线程的 KTHREAD 结构的虚拟地址。
在这种情况下,可以将 Buffer 参数视为类型PULONG64。 |
DEBUG_DATA_BASE_TRANSLATION_VIRTUAL_OFFSET |
返回操作系统或处理器拥有的分页信息基的虚拟地址。 地址和地址上的内容与处理器和操作系统相关。
在这种情况下,可以将 Buffer 参数视为类型PULONG64。 |
DEBUG_DATA_PROCESSOR_IDENTIFICATION |
返回处理器的说明。
在这种情况下,可以将 Buffer 参数视为类型PDEBUG_PROCESSOR_IDENTIFICATION_ALL 。 |
DEBUG_DATA_PROCESSOR_SPEED |
返回处理器的速度(以 MHz 为单位)。 这可能在特定会话中不起作用。
在这种情况下,可以将 Buffer 参数视为具有 PULONG 类型。 |
[out] Buffer
接收处理器数据。 成功完成 方法后,可以通过将 Buffer 强制转换为上表中指定的类型来访问此 缓冲区 的内容。
[in] BufferSize
指定缓冲区 缓冲区的大小(以字节为单位)。 这是将返回的最大字节数。
[out, optional] DataSize
接收数据的大小(以字节为单位)。 如果 DataSize 为 NULL,则不会返回此信息。
返回值
返回代码 | 说明 |
---|---|
|
方法成功。 |
此方法还可以返回错误值。 有关更多详细信息 ,请参阅返回值 。
注解
此方法仅在内核模式调试中可用。
有关 PCR、PRCB 和 KTHREAD 结构的信息,以及有关分页表的信息,请参阅 Microsoft Windows Internals by David Solomon 和 Mark Russinovich。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |