永发信息网

duplicatehandle 不能 复制 socket了吗

答案:2  悬赏:40  手机版
解决时间 2021-03-10 19:47
duplicatehandle 不能 复制 socket了吗
最佳答案
很多像我一样的菜鸟起初都不知道DuplicateHandle()的用法和为何要使用DuplicateHandle()函数,现在我在这里总结一下:BOOL WINAPI DuplicateHandle( __in HANDLE hSourceProcessHandle, __in HANDLE hSourceHandle, __in HANDLE hTargetProcessHandle, __out LPHANDLE lpTargetHandle, __in DWORD dwDesiredAccess, __in BOOL bInheritHandle, __in DWORD dwOptions ); hSourceProcessHandle:源进程内核句柄(即负责传递内核对象句柄的进程句柄)
hSourceHandle:要传递的内核对象句柄
hTargetProcessHandle:目标进程内核句柄
lpTargetHandle:接收内核对象句柄的地址(先随便声明一个HANDLE)
dwDesiredAccess:TargetHandle句柄使用何种访问掩码(这个掩码是在句柄表中的一项)
bInheritHandle:是否拥有继承
dwOptions:当设DUPLICATE_SAME_ACCESS时,表示于源的内核对象所有标志一样,此时wDesiredAccess可标志为0 当设DUPLICATE_CLOSE_SOURCE时,传输完后,关闭源中的内核对象句柄
此函数能否成功调用还要看你是否有足够的权限去操作目标进程
通常目标进程的内核句柄是利用OpenProcess()得到的

HANDLE WINAPI OpenProcess( __in DWORD dwDesiredAccess, __in BOOL bInheritHandle, __in DWORDdwProcessId ); dwDesiredAccess:决定你拥有该进程的操作权限,如果要成功用到则要填PROCESS_ALL_ACCESS或PROCESS_DUP_HANDLE

bInheritHandle:是否可继承

dwProcessId:这个ID可在资源管理器中找到,当然,我不提倡在哪里得到,或者你可以通过进程间通信的方法把PID从目标进程传给源进程

若DuplicateHandle()能成功执行,则利用进程通信把句柄值TargetHandle传给目标进程,让他知道利用该句柄使用内核对象

注意:不要试图在源进程中利用CloseHandle()关闭TargetHandle,因为这个TargetHandle句柄值并不属于源进程的句柄表中的,若错误关闭了,会产生不可预料的结果

好了,只要依照上面的做法,基本是可以正确用到DuplicateHandle()函数的

但很多菜鸟们都不知道为何要用复制句柄函数,我利用进程间通信把句柄传给目标进程不就行了吗?

这样的想法就大错特错了,我们表面上是在复制句柄值,实际上是把该句柄在源进程句柄表中的所有项复制到目标进程的句柄表中,而且使该内核对象的计数器+1了,如果只是简单的只传句柄值,目标进程的句柄表中是不会有所增加的
全部回答
是cad文件的图层问题,在cad里重新建立一个文件,把原图复制过去就行了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
《繁星》《春水》:母爱.童真.自然的读后感
吃很酸的桔子,有好处吗?
《史记》记载:“楚庄王十六年(公元前598年
厦门鼓浪屿邮政编码
上古卷轴5单手剑,哪位大神知道这把剑的mod
初二生物问题:鱼鳃为鲜红色,有许多组成,内
别笑了眼泪都掉了这首视频的伴奏是什么歌曲
长城宽带万达客户服务中心怎么去啊,有知道地
【正直不阿的读音】...《陈太丘与友期》一文
保卫黄河开头朗诵词的作用是什么
深圳龙华富士康南门怎样坐车到宝安机场
求廊坊哪里有男士修眉的地方,要专业一些的
换了hosts文件 还是一直出请透过什么执行
张玉宁,还记得曲乐恒吗?
王上源是不是走关系的,怎么打上主力的
推荐资讯
老员工消极怠工怎么处理
光晕1的ce 怎么用
破坏欲怎么样
新桥医院医生
海马S7发动机是国产的还是合资的
春分溪这个地址在什么地方,我要处理点事
电脑配件的猫
Linux系统中,ls命令的参数中,-a -d -F 这三个
靓妞DY女装地址在什么地方,想过去办事
长江七号人物资料
请问.在顺德无证驾驶摩托车应该怎么处理
吉林省索尔音响设备工程有限公司我想知道这个
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?