[转] 什么叫句柄


对于操作系统来说,句柄就是指向核心态的某段内存的指针;对于用户来说,就是某段数据的ID。

句柄是一个32位的整数,实际上是 WINDOWS 在内存中维护的一个对象(窗口等)内存物理地址列表的整数索引。因为 WINDOWS 的内存管理经常会将当前空闲对象的内存释放掉,当需要时访问再重新提交到物理内存。所以对象的物理地址是变化的,不允许程序直接通过物理地址来访问对象。程序将想访问的对象的句柄传递给系统,系统根据句柄检索自己维护的对象列表就能知道程序想访问的对象及其物理地址了。

一个整型值,用来唯一标识系统资源。

一个 Windows 内核对象创建时系统回返回一描述该对象的内核数据结构,以后访问该对象时以此数据结构为标识。但 SDK 每次调用时用它作参数会加大开销,故系统为每个进程(不是线程)创建一数组,每个元素指向一个对象的数据结构,故可通过数组的下标(即 HANDLE )来标识此对象。从某种意义上讲一个句柄可认为是一个二级指针。
type def unsigned int HANDLE

句柄是一种指向指针的指针。打个比方,我们要控制一个人,让他乖乖听话,就要抓住他的把柄,类似的,我们要控制一个对象,要它听话,就是要抓住它的句柄。

网上参考:
http://topic.csdn.net/t/20010210/21/67638.html
http://topic.csdn.net/t/20010202/10/63767.html
http://topic.csdn.net/t/20010621/18/167197.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值