IDebugDataSpaces4::ReadHandleData 方法 (dbgeng.h)

ReadHandleData 方法检索有关系统句柄指定的系统对象的信息。

语法

HRESULT ReadHandleData(
  [in]            ULONG64 Handle,
  [in]            ULONG   DataType,
  [out, optional] PVOID   Buffer,
  [in]            ULONG   BufferSize,
  [out, optional] PULONG  DataSize
);

参数

[in] Handle

指定请求其数据的对象的系统句柄。 有关系统句柄的信息,请参阅句柄。

[in] DataType

指定要为系统句柄返回的数据类型。 下表包含有效值以及相应的返回类型:

价值 描述
DEBUG_HANDLE_DATA_TYPE_BASIC 返回有关系统对象的基本信息。

在这种情况下,可以将 Buffer 的参数视为类型 PDEBUG_HANDLE_DATA_BASIC

DEBUG_HANDLE_DATA_TYPE_TYPE_NAME 返回对象类型的名称。 例如,“Process”或“Thread”。

在这种情况下,可以将参数 Buffer 视为具有 PSTR 类型。

DEBUG_HANDLE_DATA_TYPE_OBJECT_NAME 返回对象的名称。 这包括其在对象目录中的位置。

在这种情况下,可以将参数 Buffer 视为具有 PSTR 类型。

DEBUG_HANDLE_DATA_TYPE_HANDLE_COUNT 返回对象持有的句柄数。 这类似于字段 DEBUG_HANDLE_DATA_BASICHandleCount

在这种情况下,可以将参数 Buffer 视为具有 PULONG 类型。

DEBUG_HANDLE_DATA_TYPE_TYPE_NAME_WIDE 返回对象类型的名称。

在这种情况下,可以将参数 Buffer 视为具有 PWSTR 类型

DEBUG_HANDLE_DATA_TYPE_OBJECT_NAME_WIDE 返回对象的名称。

在这种情况下,可以将 Buffer 的参数视为具有 PWSTR 类型。

[out, optional] Buffer

接收对象数据。 成功完成该方法后,可以通过将 Buffer 强制转换为上表中指定的类型来访问此缓冲区的内容。

如果 缓冲区NULL,则不会返回此信息。

[in] BufferSize

指定缓冲区 缓冲区的大小(以字节为单位)。 这是将返回的最大字节数。

[out, optional] DataSize

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

返回值

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

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

言论

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

要求

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

另请参阅

处理

IDebugDataSpaces2

IDebugDataSpaces3

IDebugDataSpaces4