我可以在进程之间传递SC_HANDLE吗?

时间:2016-08-26 04:56:40

标签: winapi windows-services handle

Windows API包含一个名为DuplicateHandle的有用函数,可用于将HANDLE(文件,注册表项,进程,互斥体等)从一个进程传输到另一个进程。这对于许多事情都很有用,包括编写沙箱时,有时代理进程会打开一个HANDLE(沙盒进程无法访问),然后将该HANDLE传递给沙箱。这类似于通过Unix域套接字在POSIX进程之间传递文件描述符。

不幸的是,DuplicateHandle的文档没有提到服务句柄(类型SC_HANDLE,由OpenSCManager等API使用/返回)作为支持的HANDLE类型。有没有办法在进程之间复制(或以其他方式传输)?

1 个答案:

答案 0 :(得分:6)

这些句柄无法复制。另一个过程需要调用OpenSCManager