通过调用GetCurrentProcess或者GetCurrentIThread可以获取线程或者进行的伪句柄,所谓伪句柄,即指向当前线程或者进程的句柄,并不是真正意义上的句柄。它并不穿件句柄,同时也不增加引用计数,因次调用CloseHandle不作任何处理。
有时候,我们需要在不同的线程或者进程之间切换,这时候就会出问题,因为我们通过上面的方法得到的是个伪句柄,必须通过调用DuplicateHanlde得到真正的句柄,这样在不同的进程和线程之间切换时才不会出错。注意:调用DuplicateHanlde之后,会增加引用计数,因此在使用完之后必须调用CloseHandle减少引用计数。

本文详细介绍了如何在Windows系统中通过DuplicateHandle函数将伪句柄转换为真实句柄,以确保在不同线程或进程间进行资源交换时的顺利进行。重点强调了在使用真实句柄前,必须先调用DuplicateHandle函数并确保在使用完毕后调用CloseHandle函数来减少引用计数。

1945

被折叠的 条评论
为什么被折叠?



