IDebugDataSpaces3::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 返回对象类型的名称。 例如,“进程”或“线程”。

在这种情况下,可以将参数 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 强制转换为上表中指定的类型来访问此 缓冲区 的内容。

如果 BufferNULL,则不返回此信息。

[in] BufferSize

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

[out, optional] DataSize

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

返回值

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

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

注解

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

要求

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

另请参阅

句柄数

IDebugDataSpaces2

IDebugDataSpaces3

IDebugDataSpaces4