我有一个像这样的HANDLE:
HANDLE hPipe = CreateNamedPipe(...)
是否可以将 hPipe 转换为 文件描述符(int)?
我需要这样做是因为我已经在 C++ 中实现了一个使用 OpenSSL 的 TLS 代码。它在 TCP 套接字上运行得非常好,但我真的需要在命名管道上使用它。
OpenSSL 的函数 SSL_set_fd(SSL *ssl, int fd) 仅接受 文件描述符,即 int,而不是 HANDLE。
注意:我还尝试使用以下函数,但它没有起作用(返回值为 3):
int fd = _open_osfhandle(reinterpret_cast<intptr_t>(hPipe), 0);