cap-primitives 0.9.0

Capability-oriented primitives
Documentation
1
2
3
4
5
6
7
8
9
use std::{fs, io, os::windows::io::AsRawHandle};

pub(crate) fn is_read_write_impl(file: &fs::File) -> io::Result<(bool, bool)> {
    let handle = file.as_raw_handle();
    let access_mode = winx::file::query_access_information(handle)?;
    let read = access_mode.contains(winx::file::AccessMode::FILE_READ_DATA);
    let write = access_mode.contains(winx::file::AccessMode::FILE_WRITE_DATA);
    Ok((read, write))
}