请不要这样回答:
句柄是对某些资源的抽象引用,e是由您提供的 另一方(通常是OS),你可以交回参考 那资源。
我对技术方感兴趣
答案 0 :(得分:1)
HANDLE
只是某些数据的任意组合。
例如,它由以下API返回:CreateFile()
和OpenProcess()
- 正如您所知,这两者非常不同,但返回完全相同的数据类型。
或者对于内存,您可以访问堆(从HANDLE
返回GetProcessHeap()
),然后使用HeapAlloc()
。
正如MSDN所指出的,它在许多其他环境中使用:
http://msdn.microsoft.com/en-us/library/windows/apps/ms724211%28v=vs.85%29.aspx
访问令牌
通讯设备
控制台输入
控制台屏幕缓冲区
事件
文件
文件映射
I / O完成端口
工作
邮筒
内存资源通知
互斥
命名管道
管
过程
信号量
主题
交易
等待计时器
答案 1 :(得分:0)
如果你只是想知道它是什么:
在简单的操作系统中,这样的句柄实际上只是指向内核空间中结构的指针。该结构包含有关句柄本身的更多信息(例如,指向文件结构的指针)。更复杂的操作系统(如Windows)将在尝试访问此结构之前检查句柄的有效性。
因为HANDLE在Windows中是不透明的(这意味着:微软说:不要解释它 - 它只是一个32位数字)在不同版本的Windows中,HANDLE的实际含义可能会有所不同。即使在一个版本中(例如Vista 32位与Vista 64位或XP SP2与XP SP3),(内部)含义可能不同。
Microsoft可能会随时更改其含义(它可能是Windows 95中的指针,但是Windows 8中的数组索引 - 谁知道)。
答案 2 :(得分:0)
Windows中的句柄曾经是指向对象内存位置的指针。在胜利3.1天,一些程序投下某种手柄,看看背后是什么。今天据我所知,这是不可能的,它们是你和系统之间进行通信的简单唯一标识符或标记。
更多信息http://en.wikibooks.org/wiki/Windows_Programming/Handles_and_Data_Types来自msdn的更多信息读取16中的段落对象位窗口http://msdn.microsoft.com/en-us/library/ms810501.aspx