以前学习API,只感觉到很难,看了几集视频,却还是不很理解.后来终于看完了这一部分视频,等到小工程里需要用到时,却还是不会用...最后在网上查了查,看了看别人怎么用的,才执行成功了. |
应用程序通过调用一个windows函数来获得一个句柄,这个句柄对应着众多项目表中的一项.然后,应用程序通过API函数来处理句柄.句柄是一个标识符,也就是用来标识对象或者项目的.感觉,句柄也是指向对象内存地址的指针. |
为什么不能直接调用windows内存,而需要调用句柄呢?由于windows系统要使内存高效利用吧,每一次使用应用程序,系统给它分配的内存不是一成不变的.有进程时,系统就给它分配一块内存地址,进程结束时,系统分配的内存就被释放了,从而达到高效利用.由于内存的变动,就不可能去直接调用某一块内存地址.于是操作系统为应用程序腾出一些内存单元,用来专门登记各个应用程序的对象在内存中地址的变化.当对象在内存中的位置变化时,就把对象的新地址告诉对应的句柄,使句柄及时更新.而句柄所在的内存单元是不变的.这样通过句柄就可以直接调用到它所对应的对象. |
以上为个人理解,错误之处,还请大家指出. |
对句柄的理解
最新推荐文章于 2023-11-02 17:22:16 发布