use ntapi::ntioapi::IO_STATUS_BLOCK; use std::fmt; use std::ops::{Deref, DerefMut}; pub struct IoStatusBlock(IO_STATUS_BLOCK); cfg_net! { use ntapi::ntioapi::IO_STATUS_BLOCK_u; impl IoStatusBlock { pub fn zeroed() -> Self { Self(IO_STATUS_BLOCK { u: IO_STATUS_BLOCK_u { Status: 0 }, Information: 0, }) } } } unsafe impl Send for IoStatusBlock {} impl Deref for IoStatusBlock { type Target = IO_STATUS_BLOCK; fn deref(&self) -> &Self::Target { &self.0 } } impl DerefMut for IoStatusBlock { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.0 } } impl fmt::Debug for IoStatusBlock { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.debug_struct("IoStatusBlock").finish() } }