永发信息网

句柄和ID 指针与handle的区别

答案:2  悬赏:80  手机版
解决时间 2021-03-22 14:13
句柄和ID 指针与handle的区别
最佳答案
在Windows程序设计中,句柄是无法精确定义的术语。随便找一个高手,让他给你讲讲句柄是什么,恐怕他都很难给你一个具体的定义来。

在Windows程序设计中,句柄无所不在,窗口有窗口的句柄HWND,线程和进程也有句柄HANDLE,甚至有人把套接字也称为句柄(我就是这样的)。

句柄在英文中是handle,作为动词讲是处理的意思。简而言之,句柄是处理对象的一个接口,对于程序中所涉及的对象,你可以通过句柄去操作他。你不应该试图去回答句柄是什么,而应该从务虚的角度去理解他,知道他干什么即可。

有 人说,因为handle的定义是void *,因此他是一个指针。有些熟悉内核的人说这是一个索引。这些说法都是不准确的。需要注意的是,微软并没有精确定义句柄的含义,也许在某个特殊的操作系统 中,他使用了一种内部含义,但是在其他版本中,就不保证这样了。任何对句柄的内在假设都可能导致灾难性的后果。

API是接口,句柄是接口,两者有什么区别?API是一个通用的函数族,他处理所有的对象,而句柄是和某个具体对象相关联的数据结构。只有借助句柄,API才知道处理哪个对象。句柄是对内核对象的引用。
Kernel object handles are process specific. That is, a process must either create the object or open an existing object to obtain a kernel object handle. The per-process limit on kernel handles is 2^24. However, handles are stored in the paged pool, so the actual number of handles you can create is based on available memory. The number of handles that you can create on 32-bit Windows is significantly lower than 2^24.
Any process can create a new handle to an existing kernel object (even one created by another process), provided that the process knows the name of the object and has security access to the object. Kernel object handles include access rights that indicate the actions that can be granted or denied to a process. An application specifies access rights when it creates an object or obtains an existing object handle. Each type of kernel object supports its own set of access rights. For example, event handles can have set or wait access (or both), file handles can have read or write access (or both), and so on. For more information, see Securable Objects.
In the following illustration, an application creates an event object. The CreateEvent function creates the event object and returns an object handle.
全部回答
window编程里面有很多handle,这些handle其实就是dword,就是指针 invalid_handle_val,应该就是-1,也就是0xffffffff,表示无效句柄。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
现在农村户口怎么样?国家对农村人有什么好待
单选题水循环的主要动力是A.重力能B.大气运动
安徽省休宁县公证处这个地址在什么地方,我要
恭祝长辈生日祝福语,对公司的新年祝福语
小米路由3C、360P1、荣耀路由X1,该选哪款?
化疗了四次癌细胞指数还高那后期还要化疗吗
12.5X32+12.5+12.5X47巧算算式
性能测试工具如何选择,我们公司有成熟的多媒
邓禄普轮胎多少公里换,汽车轮胎需要多少公里
单选题温家宝总理在政府工作报告中指出,“我
贵夫人美容SPA会所地址有知道的么?有点事想
在非洲做会计年薪能达到多少呢?
河南科技大学的汉语言文学好吗?
英语中:暗恋怎么表达有关于暗恋的词组或句子
单选题打开汽水瓶盖,有大量的气泡逸出,根据
推荐资讯
小伙消耗阳气救了漂亮少女,少女以此做为回报
未按取得通知单当月做进项税额转出会受处罚吗
阅读《岳阳楼记》(11分)岳阳楼记予观夫巴陵
createjs如何实现drag
病态的句子,描写生病了的句子
带有松树的诗句,赞美松树的名言
我有一条项链,一面上有750italy 另一面标有
通州区怡然世家有公租房吗
文明古国的发源大都与大河流域有关,下列文明
谁会写作文题目是我心中最重的600字
(文)抛掷一枚均匀的骰子,则事件“出现的点
单选题以下不属于发酵技术的是A.利用青霉菌生
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?