随机存取句柄
Asio提供Windows独有的类来保证对于句柄的同步、异步读写操作能像操作普通文件一样。
例如:
HANDLE handle = ::CreateFile(...);
windows::random_access_handle file(my_io_service);
在该对象中读写数据使用read_some_at(), async_read_some_at(), write_s ome_at() 或者 async_write_some_at()等成员函数中的任意一个。然而,有些等效的函数( read_some()等),只能在传输一个或者几个byte等简单操作时使用。自由函数们调用*_some_at()形式的函数直到数据被传输完。
参见
windows::random_access_handle, windows::basic_random_access_handle, windows::random_access_handle_service
注意
你可以用 ASIO_HAS_WINDOWS_RANDOM_ACCESS_HANDLE宏来判定该功能是否可用,不能则会在编译期报错。