我可以在进程之间传递 SC_HANDLE 吗?
Can I pass a SC_HANDLE between processes?
Windows API 包含一个有用的函数,称为 DuplicateHandle
,可用于从一个过程到另一个。这对很多事情都很有用,包括在编写沙箱时,有时代理进程会打开一个 HANDLE(沙箱进程无法访问),然后将该 HANDLE 向下传递到沙箱。这类似于通过 Unix 域套接字在 POSIX 进程之间传递文件描述符。
不幸的是,DuplicateHandle
的文档没有提及服务句柄(类型 SC_HANDLE
,used/returned 由 API 类 OpenSCManager
)作为支持的 HANDLE 类型。有没有办法在进程之间复制(或以其他方式转移)那些?
这些句柄不能重复。另一个进程需要调用 OpenSCManager
。
Windows API 包含一个有用的函数,称为 DuplicateHandle
,可用于从一个过程到另一个。这对很多事情都很有用,包括在编写沙箱时,有时代理进程会打开一个 HANDLE(沙箱进程无法访问),然后将该 HANDLE 向下传递到沙箱。这类似于通过 Unix 域套接字在 POSIX 进程之间传递文件描述符。
不幸的是,DuplicateHandle
的文档没有提及服务句柄(类型 SC_HANDLE
,used/returned 由 API 类 OpenSCManager
)作为支持的 HANDLE 类型。有没有办法在进程之间复制(或以其他方式转移)那些?
这些句柄不能重复。另一个进程需要调用 OpenSCManager
。