IDebugDataSpaces::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

指定要读取的数据类型。 下表包含有效值。 成功完成后,缓冲区中返回的数据 Buffer 具有中间列指定的类型。

价值 描述
DEBUG_DATA_KPCR_OFFSET 返回处理器的处理器控制区域(VR)的虚拟地址。

在这种情况下,可以将 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

接收数据的大小(以字节为单位)。 如果 DataSizeNULL,则不会返回此信息。

返回值

返回代码 描述
S_OK
该方法成功。
 

此方法还可以返回错误值。 有关详细信息,请参阅 返回值

言论

此方法仅在内核模式调试中可用。

有关PCR、PRCB和 KTHREAD 结构以及分页表的信息,请参阅大卫·所罗门和马克·鲁西诺维奇Microsoft Windows 内部

要求

要求 价值
目标平台 桌面
标头 dbgeng.h (包括 Dbgeng.h)