DuplicateHandle在win10和xp下的一点差异

原来有个程序,需要使用DuplicateHandle,在xp下

if(DuplicateHandle(hProcess, toDuplicate,
                                GetCurrentProcess(), &hObject, STANDARD_RIGHTS_REQUIRED, FALSE, 0) != FALSE)
                    ......

没有问题,返回值OK,可是在win 10下,每次都是error,GetLastError返回5,百思不得其解,

只有好好研究文档了,看到最新的MSDN是这样写的:

https://msdn.microsoft.com/zh-cn/data/ms724251(v=vs.100)

dwOptions [in]

Optional actions. This parameter can be zero, or any combination of the following values.

Value Meaning
DUPLICATE_CLOSE_SOURCE

 Closes the source handle. This occurs regardless of any error status returned.

DUPLICATE_SAME_ACCESS 

Ignores the dwDesiredAccess parameter. The duplicate handle has the same access as the source handle.

 

老版的就不去找了,原来没有使用options,使用options

if(DuplicateHandle(hProcess, toDuplicate,
                                GetCurrentProcess(), &hObject, 0/*STANDARD_RIGHTS_REQUIRED*/, FALSE, DUPLICATE_SAME_ACCESS) != FALSE)
                            {


Build->Run,OK!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值