其中boost::asio::windows::stream_handle在boost 1.46.1中

Where is boost::asio::windows::stream_handle in boost 1.46.1?

本文关键字:boost handle stream asio windows 其中      更新时间:2023-10-16

以前我们有这样的boost代码:

typedef BoostAsioPipe pipe;
#elif defined(BOOST_POSIX_API)
typedef boost::asio::posix::stream_descriptor pipe;
#elif defined(BOOST_WINDOWS_API)
typedef boost::asio::windows::stream_handle pipe;
#else
#   error "Unsupported platform."
#endif

但是现在,例如在Windows编译器跟踪我们,stream_handle不是boost::asio的一部分…那么它现在在哪里呢?(stream_descriptor是在同一个地方还是也移动了)?

更新

愚蠢的我:现在有类似boost::asio::windows::pipe的东西,但编译器给出C3083

#elif defined(BOOST_WINDOWS_API)
    typedef boost::asio::windows::pipe  pipe;
#else

这是你想要的吗?(来自http://think-async.com/Asio/asio-1.4.8/doc/asio/overview/windows/stream_handle.html)

Windows随机访问句柄仅在针对Windows的编译时可用,并且仅在使用I/O完成端口后端(这是默认值)时可用。程序可以测试宏BOOST_ASIO_HAS_WINDOWS_STREAM_HANDLE来确定它们是否被支持。(也适用于BOOST_ASIO_HAS_WINDOWS_RANDOM_ACCESS_HANDLE)