21 lines
881 B
Rust
21 lines
881 B
Rust
windows_link::link!("kernel32.dll" "system" fn CloseHandle(hobject : HANDLE) -> BOOL);
|
|
windows_link::link!("kernel32.dll" "system" fn CreateEventW(lpeventattributes : *const SECURITY_ATTRIBUTES, bmanualreset : BOOL, binitialstate : BOOL, lpname : PCWSTR) -> HANDLE);
|
|
windows_link::link!("kernel32.dll" "system" fn SetEvent(hevent : HANDLE) -> BOOL);
|
|
windows_link::link!("kernel32.dll" "system" fn WaitForSingleObject(hhandle : HANDLE, dwmilliseconds : u32) -> WAIT_EVENT);
|
|
pub type BOOL = i32;
|
|
pub type HANDLE = *mut core::ffi::c_void;
|
|
pub type PCWSTR = *const u16;
|
|
#[repr(C)]
|
|
#[derive(Clone, Copy)]
|
|
pub struct SECURITY_ATTRIBUTES {
|
|
pub nLength: u32,
|
|
pub lpSecurityDescriptor: *mut core::ffi::c_void,
|
|
pub bInheritHandle: BOOL,
|
|
}
|
|
impl Default for SECURITY_ATTRIBUTES {
|
|
fn default() -> Self {
|
|
unsafe { core::mem::zeroed() }
|
|
}
|
|
}
|
|
pub type WAIT_EVENT = u32;
|