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 |
返回对象类型的名称。 例如,“进程”或“线程”。
在这种情况下,可以将 参数 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 强制转换为上表中指定的类型来访问此 缓冲区 的内容。
如果 Buffer 为 NULL,则不会返回此信息。
[in] BufferSize
指定缓冲区 缓冲区的大小(以字节为单位)。 这是将返回的最大字节数。
[out, optional] DataSize
接收数据的大小(以字节为单位)。 如果 DataSize 为 NULL,则不会返回此信息。
返回值
返回代码 | 说明 |
---|---|
|
方法成功。 |
此方法还可以返回错误值。 有关更多详细信息 ,请参阅返回值 。
注解
此方法仅在用户模式调试中可用。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |
另请参阅
句柄数