日期:2014-05-19  浏览次数:20756 次

到底什么是句柄?
操作系统到底如何使用句柄?句柄在什么情况下产生?是不是系统里面的资源都得用一相应的句柄来管理?比如就算一字节的“int   a”全局变量是不是也得用一句柄来管理。总之句柄在整个操作系统中占据着什么地位?是不是不可缺少的东西?

------解决方案--------------------
是一个标志,唯一的受操作系统管理,如某窗口的handle(句柄)可以标志此窗体。
------解决方案--------------------
C#句柄和C++WIN32句柄是同理!
------解决方案--------------------
就是一个ID号,操作系统只认识这个
------解决方案--------------------
对象的核心!!!!一个对象的核心东西
------解决方案--------------------
具体地说,就是一个数字,windows内核通过某种转换,通过这个数字 可以直接获得 内核对象的地址,内核对象 是由windows自己定义的一些 类似于C语言结构体的东西,常驻内存,有的人可能觉得奇怪,为什么不直接提供内核对象的地址给用户程序,非要用句柄来表示,因为内核对象处于内核地址空间,必须拥有rin 0权限才可以直接通过地址访问,再一个,直接暴露内核对象的地址是危险的,这样用c语言可以直接改变该内核对象(对C来说就是一个结构体)的某个域,而这样的访问是微软不允许的,微软坚持的原则是:要改变内核对象,必须通过微软提供的函数。