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_BASIC。HandleCount。 在这种情况下,可以将参数 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,则不会返回此信息。
返回值
| 返回代码 | 描述 | 
|---|---|
| 
 | 该方法成功。 | 
此方法还可以返回错误值。 有关详细信息,请参阅 返回值。
言论
此方法仅在用户模式调试中可用。
要求
| 要求 | 价值 | 
|---|---|
| 目标平台 | 桌面 | 
| 标头 | dbgeng.h (包括 Dbgeng.h) | 
另请参阅
处理