27 const HANDLE remote_process)
30 if (!::DuplicateHandle(GetCurrentProcess(),
36 DUPLICATE_SAME_ACCESS))
39 OPENVPN_THROW(handle_comm,
"send_handle: DuplicateHandle failed: " << err.message());
47 const HANDLE remote_process)
49 const HANDLE remote_handle = BufHex::parse<HANDLE>(remote_handle_hex,
"receive_handle");
51 if (!::DuplicateHandle(remote_process,
57 DUPLICATE_SAME_ACCESS))
60 OPENVPN_THROW(handle_comm,
"receive_handle: DuplicateHandle failed: " << err.message());
#define OPENVPN_EXCEPTION(C)
#define OPENVPN_THROW(exc, stuff)
std::string render(const T obj)
HANDLE receive_handle(const std::string &remote_handle_hex, const HANDLE remote_process)
std::string send_handle(const HANDLE handle, const HANDLE remote_process)