Windows API包含一个名为DuplicateHandle
的有用函数,可用于将HANDLE(文件,注册表项,进程,互斥体等)从一个进程传输到另一个进程。这对于许多事情都很有用,包括编写沙箱时,有时代理进程会打开一个HANDLE(沙盒进程无法访问),然后将该HANDLE传递给沙箱。这类似于通过Unix域套接字在POSIX进程之间传递文件描述符。
不幸的是,DuplicateHandle
的文档没有提到服务句柄(类型SC_HANDLE
,由OpenSCManager
等API使用/返回)作为支持的HANDLE类型。有没有办法在进程之间复制(或以其他方式传输)?
答案 0 :(得分:6)
这些句柄无法复制。另一个过程需要调用OpenSCManager
。