IDebugDataSpaces4::GetOffsetInformation 方法 (dbgeng.h)

GetOffsetInformation 方法提供有关进程数据空间中某个地址的常规信息。

语法

HRESULT GetOffsetInformation(
  [in]            ULONG   Space,
  [in]            ULONG   Which,
  [in]            ULONG64 Offset,
  [out, optional] PVOID   Buffer,
  [in]            ULONG   BufferSize,
  [out, optional] PULONG  InfoSize
);

参数

[in] Space

指定 Offset 参数应用的数据空间。 允许的值取决于 “哪个 ”参数。

[in] Which

指定正在查询有关数据的信息。 这将确定 空间 的可能值,以及 缓冲区中返回的数据的类型。 可能的值为:

DEBUG_OFFSINFO_VIRTUAL_SOURCE

Offset 处返回目标虚拟内存的源。 这是调试器引擎从中读取内存的位置。 空间 必须设置为DEBUG_DATA_SPACE_VIRTUAL。 ULONG 将返回到 缓冲区。 此 ULONG 可以采用下表中列出的值。

说明
DEBUG_VSOURCE_INVALID 偏移量在进程的虚拟地址空间中不可用。

这可能意味着地址无效,或者内存不可用-例如,故障转储文件可能不包含进程或内核的所有内存。

DEBUG_VSOURCE_DEBUGGEE 偏移量处的虚拟内存由目标提供。
DEBUG_VSOURCE_MAPPED_IMAGE 调试器引擎从本地映像文件以 偏移 量读取目标的虚拟内存。 在转储文件中,模块映像不包含在转储文件中,而是由调试器引擎加载的小型转储文件中通常就是这种情况。

[in] Offset

指定目标数据空间中返回信息的偏移量。

[out, optional] Buffer

指定要接收信息的缓冲区。 返回的数据类型取决于 “哪个”的值。 如果 BufferNULL,则不会返回此信息。

[in] BufferSize

指定 缓冲区 的大小(以字节为单位)。

[out, optional] InfoSize

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

返回值

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

返回代码 说明
S_OK
方法成功。

要求

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