首页 > 代码库 > 句柄的简单概念
句柄的简单概念
1. 句柄概念
句柄是Windows程序中的概念,本质是一个4字节(64位程序中为8字节)整数值,用来标示不同实例。
由于数据在内存地址中是变动的,为管理内存,windows引入句柄概念。
2. 句柄与普通指针
指针包含的是引用对象的内存地址,而句柄则是由系统所管理的引用标识,该标识可以被系统重新定位到一个内存地址上。
3. 句柄的使用
一个句柄,只有确定了一个项目的时候,才开始有意义。句柄对应着项目表中的一项,只有WINDOWS本身才能直接存取这个表,应用程序只能通过API函数来处理不同的句柄。
举例如下:
/*通过调用API函数GlobalAlloc,来返回一个句柄值。现在的hMem是个索引值不是物理地址,应用程序还不能直接存取这块内存*/
HANDLE hMem=GlobalAlloc(......);
/*应用程序需要调用API函数GlobalLock函数来锁定句柄,才能存取这块内存*/
void* lpMem=GlobalLock(hMem);
4. 与句柄使用相关的全局内存操作函数
/*分配内存*/
GlobalAlloc();
/*锁定内存*/
GlobalLock();
/*解锁内存*/
GlobalUnlock();
/*释放内存*/
GlobalFree();
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。