aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/winbase.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/winbase.rs')
-rw-r--r--vendor/winapi/src/um/winbase.rs2854
1 files changed, 0 insertions, 2854 deletions
diff --git a/vendor/winapi/src/um/winbase.rs b/vendor/winapi/src/um/winbase.rs
deleted file mode 100644
index 1891738..0000000
--- a/vendor/winapi/src/um/winbase.rs
+++ /dev/null
@@ -1,2854 +0,0 @@
-// Licensed under the Apache License, Version 2.0
-// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
-// All files in the project carrying such notice may not be copied, modified, or distributed
-// except according to those terms.
-//! This module defines the 32-Bit Windows Base APIs
-use ctypes::{c_char, c_int, c_long, c_void};
-use shared::basetsd::{
- DWORD64, DWORD_PTR, LONG_PTR, PDWORD64, PDWORD_PTR, PSIZE_T, PULONG_PTR, SIZE_T, UINT_PTR,
- ULONG_PTR,
-};
-use shared::guiddef::GUID;
-use shared::minwindef::{
- ATOM, BOOL, BYTE, DWORD, FARPROC, FILETIME, HFILE, HGLOBAL, HLOCAL, HMODULE, HRSRC, LPBOOL,
- LPBYTE, LPCVOID, LPDWORD, LPFILETIME, LPVOID, LPWORD, PBOOL, PDWORD, PUCHAR, PULONG, PUSHORT,
- UCHAR, UINT, ULONG, USHORT, WORD,
-};
-use shared::windef::HWND;
-use um::cfgmgr32::MAX_PROFILE_LEN;
-use um::fileapi::STREAM_INFO_LEVELS;
-use um::libloaderapi::{
- ENUMRESLANGPROCA, ENUMRESLANGPROCW, ENUMRESNAMEPROCA, ENUMRESTYPEPROCA, ENUMRESTYPEPROCW,
-};
-use um::minwinbase::{
- FILE_INFO_BY_HANDLE_CLASS, FINDEX_INFO_LEVELS, FINDEX_SEARCH_OPS, GET_FILEEX_INFO_LEVELS,
- LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE, LPSECURITY_ATTRIBUTES, PREASON_CONTEXT,
-};
-use um::processthreadsapi::{
- LPPROCESS_INFORMATION, LPPROC_THREAD_ATTRIBUTE_LIST, LPSTARTUPINFOA, LPSTARTUPINFOW,
- STARTUPINFOA, STARTUPINFOW,
-};
-use um::winnt::{
- BOOLEAN, CHAR, DWORDLONG, EXECUTION_STATE, FILE_ID_128, HANDLE, HRESULT, INT, LANGID,
- LARGE_INTEGER, LATENCY_TIME, LONG, LPCCH, LPCH, LPCSTR, LPCWSTR, LPOSVERSIONINFOEXA,
- LPOSVERSIONINFOEXW, LPSTR, LPWSTR, MAXLONG, PBOOLEAN, PCONTEXT, PCWSTR, PFIRMWARE_TYPE,
- PHANDLE, PIO_COUNTERS, PJOB_SET_ARRAY, PLUID, POWER_REQUEST_TYPE, PPERFORMANCE_DATA,
- PPROCESSOR_NUMBER, PQUOTA_LIMITS, PRTL_UMS_SCHEDULER_ENTRY_POINT,
- PSECURE_MEMORY_CACHE_CALLBACK, PSID, PSID_NAME_USE, PULONGLONG, PVOID, PWOW64_CONTEXT,
- PWOW64_LDT_ENTRY, PWSTR, RTL_UMS_THREAD_INFO_CLASS, STATUS_ABANDONED_WAIT_0, STATUS_USER_APC,
- STATUS_WAIT_0, SecurityAnonymous, SecurityDelegation, SecurityIdentification,
- SecurityImpersonation, THREAD_BASE_PRIORITY_IDLE, THREAD_BASE_PRIORITY_LOWRT,
- THREAD_BASE_PRIORITY_MAX, THREAD_BASE_PRIORITY_MIN, ULARGE_INTEGER, VOID, WAITORTIMERCALLBACK,
- WCHAR, WOW64_CONTEXT,
-};
-#[cfg(target_arch = "x86")]
-use um::winnt::PLDT_ENTRY;
-use vc::vadefs::va_list;
-pub const FILE_BEGIN: DWORD = 0;
-pub const FILE_CURRENT: DWORD = 1;
-pub const FILE_END: DWORD = 2;
-pub const WAIT_FAILED: DWORD = 0xFFFFFFFF;
-pub const WAIT_OBJECT_0: DWORD = STATUS_WAIT_0 as u32;
-pub const WAIT_ABANDONED: DWORD = STATUS_ABANDONED_WAIT_0 as u32;
-pub const WAIT_ABANDONED_0: DWORD = STATUS_ABANDONED_WAIT_0 as u32;
-pub const WAIT_IO_COMPLETION: DWORD = STATUS_USER_APC as u32;
-pub const FILE_FLAG_WRITE_THROUGH: DWORD = 0x80000000;
-pub const FILE_FLAG_OVERLAPPED: DWORD = 0x40000000;
-pub const FILE_FLAG_NO_BUFFERING: DWORD = 0x20000000;
-pub const FILE_FLAG_RANDOM_ACCESS: DWORD = 0x10000000;
-pub const FILE_FLAG_SEQUENTIAL_SCAN: DWORD = 0x08000000;
-pub const FILE_FLAG_DELETE_ON_CLOSE: DWORD = 0x04000000;
-pub const FILE_FLAG_BACKUP_SEMANTICS: DWORD = 0x02000000;
-pub const FILE_FLAG_POSIX_SEMANTICS: DWORD = 0x01000000;
-pub const FILE_FLAG_SESSION_AWARE: DWORD = 0x00800000;
-pub const FILE_FLAG_OPEN_REPARSE_POINT: DWORD = 0x00200000;
-pub const FILE_FLAG_OPEN_NO_RECALL: DWORD = 0x00100000;
-pub const FILE_FLAG_FIRST_PIPE_INSTANCE: DWORD = 0x00080000;
-pub const FILE_FLAG_OPEN_REQUIRING_OPLOCK: DWORD = 0x00040000;
-pub const PROGRESS_CONTINUE: DWORD = 0;
-pub const PROGRESS_CANCEL: DWORD = 1;
-pub const PROGRESS_STOP: DWORD = 2;
-pub const PROGRESS_QUIET: DWORD = 3;
-pub const CALLBACK_CHUNK_FINISHED: DWORD = 0x00000000;
-pub const CALLBACK_STREAM_SWITCH: DWORD = 0x00000001;
-pub const COPY_FILE_FAIL_IF_EXISTS: DWORD = 0x00000001;
-pub const COPY_FILE_RESTARTABLE: DWORD = 0x00000002;
-pub const COPY_FILE_OPEN_SOURCE_FOR_WRITE: DWORD = 0x00000004;
-pub const COPY_FILE_ALLOW_DECRYPTED_DESTINATION: DWORD = 0x00000008;
-pub const COPY_FILE_COPY_SYMLINK: DWORD = 0x00000800;
-pub const COPY_FILE_NO_BUFFERING: DWORD = 0x00001000;
-pub const COPY_FILE_REQUEST_SECURITY_PRIVILEGES: DWORD = 0x00002000;
-pub const COPY_FILE_RESUME_FROM_PAUSE: DWORD = 0x00004000;
-pub const COPY_FILE_NO_OFFLOAD: DWORD = 0x00040000;
-pub const COPY_FILE_IGNORE_EDP_BLOCK: DWORD = 0x00400000;
-pub const COPY_FILE_IGNORE_SOURCE_ENCRYPTION: DWORD = 0x00800000;
-pub const REPLACEFILE_WRITE_THROUGH: DWORD = 0x00000001;
-pub const REPLACEFILE_IGNORE_MERGE_ERRORS: DWORD = 0x00000002;
-pub const REPLACEFILE_IGNORE_ACL_ERRORS: DWORD = 0x00000004;
-pub const PIPE_ACCESS_INBOUND: DWORD = 0x00000001;
-pub const PIPE_ACCESS_OUTBOUND: DWORD = 0x00000002;
-pub const PIPE_ACCESS_DUPLEX: DWORD = 0x00000003;
-pub const PIPE_CLIENT_END: DWORD = 0x00000000;
-pub const PIPE_SERVER_END: DWORD = 0x00000001;
-pub const PIPE_WAIT: DWORD = 0x00000000;
-pub const PIPE_NOWAIT: DWORD = 0x00000001;
-pub const PIPE_READMODE_BYTE: DWORD = 0x00000000;
-pub const PIPE_READMODE_MESSAGE: DWORD = 0x00000002;
-pub const PIPE_TYPE_BYTE: DWORD = 0x00000000;
-pub const PIPE_TYPE_MESSAGE: DWORD = 0x00000004;
-pub const PIPE_ACCEPT_REMOTE_CLIENTS: DWORD = 0x00000000;
-pub const PIPE_REJECT_REMOTE_CLIENTS: DWORD = 0x00000008;
-pub const PIPE_UNLIMITED_INSTANCES: DWORD = 255;
-pub const SECURITY_ANONYMOUS: DWORD = SecurityAnonymous << 16;
-pub const SECURITY_IDENTIFICATION: DWORD = SecurityIdentification << 16;
-pub const SECURITY_IMPERSONATION: DWORD = SecurityImpersonation << 16;
-pub const SECURITY_DELEGATION: DWORD = SecurityDelegation << 16;
-pub const SECURITY_CONTEXT_TRACKING: DWORD = 0x00040000;
-pub const SECURITY_EFFECTIVE_ONLY: DWORD = 0x00080000;
-pub const SECURITY_SQOS_PRESENT: DWORD = 0x00100000;
-pub const SECURITY_VALID_SQOS_FLAGS: DWORD = 0x001F0000;
-FN!{stdcall PFIBER_START_ROUTINE(
- lpFiberParameter: LPVOID,
-) -> ()}
-pub type LPFIBER_START_ROUTINE = PFIBER_START_ROUTINE;
-FN!{stdcall PFIBER_CALLOUT_ROUTINE(
- lpParameter: LPVOID,
-) -> LPVOID}
-// FAIL_FAST_*
-#[cfg(target_arch = "x86")]
-pub type LPLDT_ENTRY = PLDT_ENTRY;
-#[cfg(not(target_arch = "x86"))]
-pub type LPLDT_ENTRY = LPVOID; // TODO - fix this for 32-bit
-//SP_SERIALCOMM
-//PST_*
-// PCF_*
-// SP_*
-// BAUD_*
-// DATABITS_*
-// STOPBITS_*
-// PARITY_*
-STRUCT!{struct COMMPROP {
- wPacketLength: WORD,
- wPacketVersion: WORD,
- dwServiceMask: DWORD,
- dwReserved1: DWORD,
- dwMaxTxQueue: DWORD,
- dwMaxRxQueue: DWORD,
- dwMaxBaud: DWORD,
- dwProvSubType: DWORD,
- dwProvCapabilities: DWORD,
- dwSettableParams: DWORD,
- dwSettableBaud: DWORD,
- wSettableData: WORD,
- wSettableStopParity: WORD,
- dwCurrentTxQueue: DWORD,
- dwCurrentRxQueue: DWORD,
- dwProvSpec1: DWORD,
- dwProvSpec2: DWORD,
- wcProvChar: [WCHAR; 1],
-}}
-pub type LPCOMMPROP = *mut COMMPROP;
-STRUCT!{struct COMSTAT {
- BitFields: DWORD,
- cbInQue: DWORD,
- cbOutQue: DWORD,
-}}
-BITFIELD!{COMSTAT BitFields: DWORD [
- fCtsHold set_fCtsHold[0..1],
- fDsrHold set_fDsrHold[1..2],
- fRlsdHold set_fRlsdHold[2..3],
- fXoffHold set_fXoffHold[3..4],
- fXoffSent set_fXoffSent[4..5],
- fEof set_fEof[5..6],
- fTxim set_fTxim[6..7],
- fReserved set_fReserved[7..32],
-]}
-pub type LPCOMSTAT = *mut COMSTAT;
-pub const DTR_CONTROL_DISABLE: DWORD = 0x00;
-pub const DTR_CONTROL_ENABLE: DWORD = 0x01;
-pub const DTR_CONTROL_HANDSHAKE: DWORD = 0x02;
-pub const RTS_CONTROL_DISABLE: DWORD = 0x00;
-pub const RTS_CONTROL_ENABLE: DWORD = 0x01;
-pub const RTS_CONTROL_HANDSHAKE: DWORD = 0x02;
-pub const RTS_CONTROL_TOGGLE: DWORD = 0x03;
-STRUCT!{struct DCB {
- DCBlength: DWORD,
- BaudRate: DWORD,
- BitFields: DWORD,
- wReserved: WORD,
- XonLim: WORD,
- XoffLim: WORD,
- ByteSize: BYTE,
- Parity: BYTE,
- StopBits: BYTE,
- XonChar: c_char,
- XoffChar: c_char,
- ErrorChar: c_char,
- EofChar: c_char,
- EvtChar: c_char,
- wReserved1: WORD,
-}}
-BITFIELD!{DCB BitFields: DWORD [
- fBinary set_fBinary[0..1],
- fParity set_fParity[1..2],
- fOutxCtsFlow set_fOutxCtsFlow[2..3],
- fOutxDsrFlow set_fOutxDsrFlow[3..4],
- fDtrControl set_fDtrControl[4..6],
- fDsrSensitivity set_fDsrSensitivity[6..7],
- fTXContinueOnXoff set_fTXContinueOnXoff[7..8],
- fOutX set_fOutX[8..9],
- fInX set_fInX[9..10],
- fErrorChar set_fErrorChar[10..11],
- fNull set_fNull[11..12],
- fRtsControl set_fRtsControl[12..14],
- fAbortOnError set_fAbortOnError[14..15],
- fDummy2 set_fDummy2[15..32],
-]}
-pub type LPDCB = *mut DCB;
-STRUCT!{struct COMMTIMEOUTS {
- ReadIntervalTimeout: DWORD,
- ReadTotalTimeoutMultiplier: DWORD,
- ReadTotalTimeoutConstant: DWORD,
- WriteTotalTimeoutMultiplier: DWORD,
- WriteTotalTimeoutConstant: DWORD,
-}}
-pub type LPCOMMTIMEOUTS = *mut COMMTIMEOUTS;
-STRUCT!{struct COMMCONFIG {
- dwSize: DWORD,
- wVersion: WORD,
- wReserved: WORD,
- dcb: DCB,
- dwProviderSubType: DWORD,
- dwProviderOffset: DWORD,
- dwProviderSize: DWORD,
- wcProviderData: [WCHAR; 1],
-}}
-pub type LPCOMMCONFIG = *mut COMMCONFIG;
-pub const GMEM_FIXED: UINT = 0x0000;
-pub const GMEM_MOVEABLE: UINT = 0x0002;
-pub const GMEM_NOCOMPACT: UINT = 0x0010;
-pub const GMEM_NODISCARD: UINT = 0x0020;
-pub const GMEM_ZEROINIT: UINT = 0x0040;
-pub const GMEM_MODIFY: UINT = 0x0080;
-pub const GMEM_DISCARDABLE: UINT = 0x0100;
-pub const GMEM_NOT_BANKED: UINT = 0x1000;
-pub const GMEM_SHARE: UINT = 0x2000;
-pub const GMEM_DDESHARE: UINT = 0x2000;
-pub const GMEM_NOTIFY: UINT = 0x4000;
-pub const GMEM_LOWER: UINT = GMEM_NOT_BANKED;
-pub const GMEM_VALID_FLAGS: UINT = 0x7F72;
-pub const GMEM_INVALID_HANDLE: UINT = 0x8000;
-pub const GHND: UINT = GMEM_MOVEABLE | GMEM_ZEROINIT;
-pub const GPTR: UINT = GMEM_FIXED | GMEM_ZEROINIT;
-pub const GMEM_DISCARDED: UINT = 0x4000;
-pub const GMEM_LOCKCOUNT: UINT = 0x00FF;
-STRUCT!{struct MEMORYSTATUS {
- dwLength: DWORD,
- dwMemoryLoad: DWORD,
- dwTotalPhys: SIZE_T,
- dwAvailPhys: SIZE_T,
- dwTotalPageFile: SIZE_T,
- dwAvailPageFile: SIZE_T,
- dwTotalVirtual: SIZE_T,
- dwAvailVirtual: SIZE_T,
-}}
-pub type LPMEMORYSTATUS = *mut MEMORYSTATUS;
-// NUMA_NO_PREFERRED_NODE
-pub const DEBUG_PROCESS: DWORD = 0x00000001;
-pub const DEBUG_ONLY_THIS_PROCESS: DWORD = 0x00000002;
-pub const CREATE_SUSPENDED: DWORD = 0x00000004;
-pub const DETACHED_PROCESS: DWORD = 0x00000008;
-pub const CREATE_NEW_CONSOLE: DWORD = 0x00000010;
-pub const NORMAL_PRIORITY_CLASS: DWORD = 0x00000020;
-pub const IDLE_PRIORITY_CLASS: DWORD = 0x00000040;
-pub const HIGH_PRIORITY_CLASS: DWORD = 0x00000080;
-pub const REALTIME_PRIORITY_CLASS: DWORD = 0x00000100;
-pub const CREATE_NEW_PROCESS_GROUP: DWORD = 0x00000200;
-pub const CREATE_UNICODE_ENVIRONMENT: DWORD = 0x00000400;
-pub const CREATE_SEPARATE_WOW_VDM: DWORD = 0x00000800;
-pub const CREATE_SHARED_WOW_VDM: DWORD = 0x00001000;
-pub const CREATE_FORCEDOS: DWORD = 0x00002000;
-pub const BELOW_NORMAL_PRIORITY_CLASS: DWORD = 0x00004000;
-pub const ABOVE_NORMAL_PRIORITY_CLASS: DWORD = 0x00008000;
-pub const INHERIT_PARENT_AFFINITY: DWORD = 0x00010000;
-pub const INHERIT_CALLER_PRIORITY: DWORD = 0x00020000;
-pub const CREATE_PROTECTED_PROCESS: DWORD = 0x00040000;
-pub const EXTENDED_STARTUPINFO_PRESENT: DWORD = 0x00080000;
-pub const PROCESS_MODE_BACKGROUND_BEGIN: DWORD = 0x00100000;
-pub const PROCESS_MODE_BACKGROUND_END: DWORD = 0x00200000;
-pub const CREATE_BREAKAWAY_FROM_JOB: DWORD = 0x01000000;
-pub const CREATE_PRESERVE_CODE_AUTHZ_LEVEL: DWORD = 0x02000000;
-pub const CREATE_DEFAULT_ERROR_MODE: DWORD = 0x04000000;
-pub const CREATE_NO_WINDOW: DWORD = 0x08000000;
-pub const PROFILE_USER: DWORD = 0x10000000;
-pub const PROFILE_KERNEL: DWORD = 0x20000000;
-pub const PROFILE_SERVER: DWORD = 0x40000000;
-pub const CREATE_IGNORE_SYSTEM_DEFAULT: DWORD = 0x80000000;
-// STACK_SIZE_PARAM_IS_A_RESERVATION
-pub const THREAD_PRIORITY_LOWEST: DWORD = THREAD_BASE_PRIORITY_MIN;
-pub const THREAD_PRIORITY_BELOW_NORMAL: DWORD = THREAD_PRIORITY_LOWEST + 1;
-pub const THREAD_PRIORITY_NORMAL: DWORD = 0;
-pub const THREAD_PRIORITY_HIGHEST: DWORD = THREAD_BASE_PRIORITY_MAX;
-pub const THREAD_PRIORITY_ABOVE_NORMAL: DWORD = THREAD_PRIORITY_HIGHEST - 1;
-pub const THREAD_PRIORITY_ERROR_RETURN: DWORD = MAXLONG as u32;
-pub const THREAD_PRIORITY_TIME_CRITICAL: DWORD = THREAD_BASE_PRIORITY_LOWRT;
-pub const THREAD_PRIORITY_IDLE: DWORD = THREAD_BASE_PRIORITY_IDLE;
-pub const THREAD_MODE_BACKGROUND_BEGIN: DWORD = 0x00010000;
-pub const THREAD_MODE_BACKGROUND_END: DWORD = 0x00020000;
-pub const VOLUME_NAME_DOS: DWORD = 0x0;
-// VOLUME_NAME_*
-// FILE_NAME_*
-// JIT_DEBUG_*
-pub const DRIVE_UNKNOWN: DWORD = 0;
-pub const DRIVE_NO_ROOT_DIR: DWORD = 1;
-pub const DRIVE_REMOVABLE: DWORD = 2;
-pub const DRIVE_FIXED: DWORD = 3;
-pub const DRIVE_REMOTE: DWORD = 4;
-pub const DRIVE_CDROM: DWORD = 5;
-pub const DRIVE_RAMDISK: DWORD = 6;
-// pub fn GetFreeSpace();
-pub const FILE_TYPE_UNKNOWN: DWORD = 0x0000;
-pub const FILE_TYPE_DISK: DWORD = 0x0001;
-pub const FILE_TYPE_CHAR: DWORD = 0x0002;
-pub const FILE_TYPE_PIPE: DWORD = 0x0003;
-pub const FILE_TYPE_REMOTE: DWORD = 0x8000;
-pub const STD_INPUT_HANDLE: DWORD = -10i32 as u32;
-pub const STD_OUTPUT_HANDLE: DWORD = -11i32 as u32;
-pub const STD_ERROR_HANDLE: DWORD = -12i32 as u32;
-pub const NOPARITY: BYTE = 0;
-pub const ODDPARITY: BYTE = 1;
-pub const EVENPARITY: BYTE = 2;
-pub const MARKPARITY: BYTE = 3;
-pub const SPACEPARITY: BYTE = 4;
-pub const ONESTOPBIT: BYTE = 0;
-pub const ONE5STOPBITS: BYTE = 1;
-pub const TWOSTOPBITS: BYTE = 2;
-pub const IGNORE: DWORD = 0;
-pub const INFINITE: DWORD = 0xFFFFFFFF;
-pub const CBR_110: DWORD = 110;
-pub const CBR_300: DWORD = 300;
-pub const CBR_600: DWORD = 600;
-pub const CBR_1200: DWORD = 1200;
-pub const CBR_2400: DWORD = 2400;
-pub const CBR_4800: DWORD = 4800;
-pub const CBR_9600: DWORD = 9600;
-pub const CBR_14400: DWORD = 14400;
-pub const CBR_19200: DWORD = 19200;
-pub const CBR_38400: DWORD = 38400;
-pub const CBR_56000: DWORD = 56000;
-pub const CBR_57600: DWORD = 57600;
-pub const CBR_115200: DWORD = 115200;
-pub const CBR_128000: DWORD = 128000;
-pub const CBR_256000: DWORD = 256000;
-// CE_*
-// IE_*
-// EV_*
-pub const SETXOFF: DWORD = 1;
-pub const SETXON: DWORD = 2;
-pub const SETRTS: DWORD = 3;
-pub const CLRRTS: DWORD = 4;
-pub const SETDTR: DWORD = 5;
-pub const CLRDTR: DWORD = 6;
-pub const RESETDEV: DWORD = 7;
-pub const SETBREAK: DWORD = 8;
-pub const CLRBREAK: DWORD = 9;
-pub const PURGE_TXABORT: DWORD = 0x0001;
-pub const PURGE_RXABORT: DWORD = 0x0002;
-pub const PURGE_TXCLEAR: DWORD = 0x0004;
-pub const PURGE_RXCLEAR: DWORD = 0x0008;
-pub const MS_CTS_ON: DWORD = 0x0010;
-pub const MS_DSR_ON: DWORD = 0x0020;
-pub const MS_RING_ON: DWORD = 0x0040;
-pub const MS_RLSD_ON: DWORD = 0x0080;
-// S_*
-// NMPWAIT_*
-// FS_*
-// OF_*
-pub const OFS_MAXPATHNAME: usize = 128;
-STRUCT!{struct OFSTRUCT {
- cBytes: BYTE,
- fFixedDisk: BYTE,
- nErrCode: WORD,
- Reserved1: WORD,
- Reserved2: WORD,
- szPathName: [CHAR; OFS_MAXPATHNAME],
-}}
-pub type POFSTRUCT = *mut OFSTRUCT;
-pub type LPOFSTRUCT = *mut OFSTRUCT;
-extern "system" {
- pub fn GlobalAlloc(
- uFlags: UINT,
- dwBytes: SIZE_T,
- ) -> HGLOBAL;
- pub fn GlobalReAlloc(
- hMem: HGLOBAL,
- dwBytes: SIZE_T,
- uFlags: UINT,
- ) -> HGLOBAL;
- pub fn GlobalSize(
- hMem: HGLOBAL,
- ) -> SIZE_T;
- pub fn GlobalFlags(
- hMem: HGLOBAL,
- ) -> UINT;
- pub fn GlobalLock(
- hMem: HGLOBAL,
- ) -> LPVOID;
- pub fn GlobalHandle(
- pMem: LPCVOID,
- ) -> HGLOBAL;
- pub fn GlobalUnlock(
- hMem: HGLOBAL,
- ) -> BOOL;
- pub fn GlobalFree(
- hMem: HGLOBAL,
- ) -> HGLOBAL;
- pub fn GlobalCompact(
- dwMinFree: DWORD,
- ) -> SIZE_T;
- pub fn GlobalFix(
- hMem: HGLOBAL,
- );
- pub fn GlobalUnfix(
- hMem: HGLOBAL,
- );
- pub fn GlobalWire(
- hMem: HGLOBAL,
- ) -> LPVOID;
- pub fn GlobalUnWire(
- hMem: HGLOBAL,
- ) -> BOOL;
- pub fn GlobalMemoryStatus(
- lpBuffer: LPMEMORYSTATUS,
- );
- pub fn LocalAlloc(
- uFlags: UINT,
- uBytes: SIZE_T,
- ) -> HLOCAL;
- pub fn LocalReAlloc(
- hMem: HLOCAL,
- uBytes: SIZE_T,
- uFlags: UINT,
- ) -> HLOCAL;
- pub fn LocalLock(
- hMem: HLOCAL,
- ) -> LPVOID;
- pub fn LocalHandle(
- pMem: LPCVOID,
- ) -> HLOCAL;
- pub fn LocalUnlock(
- hMem: HLOCAL,
- ) -> BOOL;
- pub fn LocalSize(
- hMem: HLOCAL,
- ) -> SIZE_T;
- pub fn LocalFlags(
- hMem: HLOCAL,
- ) -> UINT;
- pub fn LocalFree(
- hMem: HLOCAL,
- ) -> HLOCAL;
- pub fn LocalShrink(
- hMem: HLOCAL,
- cbNewSize: UINT,
- ) -> SIZE_T;
- pub fn LocalCompact(
- uMinFree: UINT,
- ) -> SIZE_T;
-}
-// SCS_*
-extern "system" {
- pub fn GetBinaryTypeA(
- lpApplicationName: LPCSTR,
- lpBinaryType: LPDWORD,
- ) -> BOOL;
- pub fn GetBinaryTypeW(
- lpApplicationName: LPCWSTR,
- lpBinaryType: LPDWORD,
- ) -> BOOL;
- pub fn GetShortPathNameA(
- lpszLongPath: LPCSTR,
- lpszShortPath: LPSTR,
- cchBuffer: DWORD,
- ) -> DWORD;
- pub fn GetLongPathNameTransactedA(
- lpszShortPath: LPCSTR,
- lpszLongPath: LPSTR,
- cchBuffer: DWORD,
- hTransaction: HANDLE,
- ) -> DWORD;
- pub fn GetLongPathNameTransactedW(
- lpszShortPath: LPCWSTR,
- lpszLongPath: LPWSTR,
- cchBuffer: DWORD,
- hTransaction: HANDLE,
- ) -> DWORD;
- pub fn GetProcessAffinityMask(
- hProcess: HANDLE,
- lpProcessAffinityMask: PDWORD_PTR,
- lpSystemAffinityMask: PDWORD_PTR,
- ) -> BOOL;
- pub fn SetProcessAffinityMask(
- hProcess: HANDLE,
- dwProcessAffinityMask: DWORD,
- ) -> BOOL;
- pub fn GetProcessIoCounters(
- hProcess: HANDLE,
- lpIoCounters: PIO_COUNTERS,
- ) -> BOOL;
- pub fn GetProcessWorkingSetSize(
- hProcess: HANDLE,
- lpMinimumWorkingSetSize: PSIZE_T,
- lpMaximumWorkingSetSize: PSIZE_T,
- ) -> BOOL;
- pub fn SetProcessWorkingSetSize(
- hProcess: HANDLE,
- dwMinimumWorkingSetSize: SIZE_T,
- dwMaximumWorkingSetSize: SIZE_T,
- ) -> BOOL;
- pub fn FatalExit(
- ExitCode: c_int,
- );
- pub fn SetEnvironmentStringsA(
- NewEnvironment: LPCH,
- ) -> BOOL;
- pub fn SwitchToFiber(
- lpFiber: LPVOID,
- );
- pub fn DeleteFiber(
- lpFiber: LPVOID,
- );
- pub fn ConvertFiberToThread() -> BOOL;
- pub fn CreateFiberEx(
- dwStackCommitSize: SIZE_T,
- dwStackReserveSize: SIZE_T,
- dwFlags: DWORD,
- lpStartAddress: LPFIBER_START_ROUTINE,
- lpParameter: LPVOID,
- ) -> LPVOID;
- pub fn ConvertThreadToFiberEx(
- lpParameter: LPVOID,
- dwFlags: DWORD,
- ) -> LPVOID;
- pub fn CreateFiber(
- dwStackSize: SIZE_T,
- lpStartAddress: LPFIBER_START_ROUTINE,
- lpParameter: LPVOID,
- ) -> LPVOID;
- pub fn ConvertThreadToFiber(
- lpParameter: LPVOID,
- ) -> LPVOID;
-}
-pub type PUMS_CONTEXT = *mut c_void;
-pub type PUMS_COMPLETION_LIST = *mut c_void;
-pub type UMS_THREAD_INFO_CLASS = RTL_UMS_THREAD_INFO_CLASS;
-pub type PUMS_THREAD_INFO_CLASS = *mut UMS_THREAD_INFO_CLASS;
-pub type PUMS_SCHEDULER_ENTRY_POINT = PRTL_UMS_SCHEDULER_ENTRY_POINT;
-STRUCT!{struct UMS_SCHEDULER_STARTUP_INFO {
- UmsVersion: ULONG,
- CompletionList: PUMS_COMPLETION_LIST,
- SchedulerProc: PUMS_SCHEDULER_ENTRY_POINT,
- SchedulerParam: PVOID,
-}}
-pub type PUMS_SCHEDULER_STARTUP_INFO = *mut UMS_SCHEDULER_STARTUP_INFO;
-STRUCT!{struct UMS_SYSTEM_THREAD_INFORMATION {
- UmsVersion: ULONG,
- ThreadUmsFlags: ULONG,
-}}
-BITFIELD!{UMS_SYSTEM_THREAD_INFORMATION ThreadUmsFlags: ULONG [
- IsUmsSchedulerThread set_IsUmsSchedulerThread[0..1],
- IsUmsWorkerThread set_IsUmsWorkerThread[1..2],
-]}
-pub type PUMS_SYSTEM_THREAD_INFORMATION = *mut UMS_SYSTEM_THREAD_INFORMATION;
-extern "system" {
- #[cfg(target_pointer_width = "64")]
- pub fn CreateUmsCompletionList(
- UmsCompletionList: *mut PUMS_COMPLETION_LIST,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn DequeueUmsCompletionListItems(
- UmsCompletionList: PUMS_COMPLETION_LIST,
- WaitTimeOut: DWORD,
- UmsThreadList: *mut PUMS_CONTEXT,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn GetUmsCompletionListEvent(
- UmsCompletionList: PUMS_COMPLETION_LIST,
- UmsCompletionEvent: PHANDLE,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn ExecuteUmsThread(
- UmsThread: PUMS_CONTEXT,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn UmsThreadYield(
- SchedulerParam: PVOID,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn DeleteUmsCompletionList(
- UmsCompletionList: PUMS_COMPLETION_LIST,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn GetCurrentUmsThread() -> PUMS_CONTEXT;
- #[cfg(target_pointer_width = "64")]
- pub fn GetNextUmsListItem(
- UmsContext: PUMS_CONTEXT,
- ) -> PUMS_CONTEXT;
- #[cfg(target_pointer_width = "64")]
- pub fn QueryUmsThreadInformation(
- UmsThread: PUMS_CONTEXT,
- UmsThreadInfoClass: UMS_THREAD_INFO_CLASS,
- UmsThreadInformation: PVOID,
- UmsThreadInformationLength: ULONG,
- ReturnLength: PULONG,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn SetUmsThreadInformation(
- UmsThread: PUMS_CONTEXT,
- UmsThreadInfoClass: UMS_THREAD_INFO_CLASS,
- UmsThreadInformation: PVOID,
- UmsThreadInformationLength: ULONG,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn DeleteUmsThreadContext(
- UmsThread: PUMS_CONTEXT,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn CreateUmsThreadContext(
- lpUmsThread: *mut PUMS_CONTEXT,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn EnterUmsSchedulingMode(
- SchedulerStartupInfo: PUMS_SCHEDULER_STARTUP_INFO,
- ) -> BOOL;
- #[cfg(target_pointer_width = "64")]
- pub fn GetUmsSystemThreadInformation(
- ThreadHandle: HANDLE,
- SystemThreadInfo: PUMS_SYSTEM_THREAD_INFORMATION,
- ) -> BOOL;
- pub fn SetThreadAffinityMask(
- hThread: HANDLE,
- dwThreadAffinityMask: DWORD_PTR,
- ) -> DWORD_PTR;
- pub fn SetProcessDEPPolicy(
- dwFlags: DWORD,
- ) -> BOOL;
- pub fn GetProcessDEPPolicy(
- hProcess: HANDLE,
- lpFlags: LPDWORD,
- lpPermanent: PBOOL,
- ) -> BOOL;
- pub fn RequestWakeupLatency(
- latency: LATENCY_TIME,
- ) -> BOOL;
- pub fn IsSystemResumeAutomatic() -> BOOL;
- pub fn GetThreadSelectorEntry(
- hThread: HANDLE,
- dwSelector: DWORD,
- lpSelectorEntry: LPLDT_ENTRY,
- ) -> BOOL;
- pub fn SetThreadExecutionState(
- esFlags: EXECUTION_STATE,
- ) -> EXECUTION_STATE;
- pub fn PowerCreateRequest(
- Context: PREASON_CONTEXT,
- ) -> HANDLE;
- pub fn PowerSetRequest(
- PowerRequest: HANDLE,
- RequestType: POWER_REQUEST_TYPE,
- ) -> BOOL;
- pub fn PowerClearRequest(
- PowerRequest: HANDLE,
- RequestType: POWER_REQUEST_TYPE,
- ) -> BOOL;
- pub fn RestoreLastError(
- dwErrCode: DWORD,
- );
-}
-pub const FILE_SKIP_COMPLETION_PORT_ON_SUCCESS: UCHAR = 0x1;
-pub const FILE_SKIP_SET_EVENT_ON_HANDLE: UCHAR = 0x2;
-extern "system" {
- pub fn SetFileCompletionNotificationModes(
- FileHandle: HANDLE,
- Flags: UCHAR,
- ) -> BOOL;
-}
-pub const SEM_FAILCRITICALERRORS: UINT = 0x0001;
-pub const SEM_NOGPFAULTERRORBOX: UINT = 0x0002;
-pub const SEM_NOALIGNMENTFAULTEXCEPT: UINT = 0x0004;
-pub const SEM_NOOPENFILEERRORBOX: UINT = 0x8000;
-extern "system" {
- pub fn Wow64GetThreadContext(
- hThread: HANDLE,
- lpContext: PWOW64_CONTEXT,
- ) -> BOOL;
- pub fn Wow64SetThreadContext(
- hThread: HANDLE,
- lpContext: *const WOW64_CONTEXT,
- ) -> BOOL;
- pub fn Wow64GetThreadSelectorEntry(
- hThread: HANDLE,
- dwSelector: DWORD,
- lpSelectorEntry: PWOW64_LDT_ENTRY,
- ) -> BOOL;
- pub fn Wow64SuspendThread(
- hThread: HANDLE,
- ) -> DWORD;
- pub fn DebugSetProcessKillOnExit(
- KillOnExit: BOOL,
- ) -> BOOL;
- pub fn DebugBreakProcess(
- Process: HANDLE,
- ) -> BOOL;
- pub fn PulseEvent(
- hEvent: HANDLE,
- ) -> BOOL;
- pub fn GlobalDeleteAtom(
- nAtom: ATOM,
- ) -> ATOM;
- pub fn InitAtomTable(
- nSize: DWORD,
- ) -> BOOL;
- pub fn DeleteAtom(
- nAtom: ATOM,
- ) -> ATOM;
- pub fn SetHandleCount(
- uNumber: UINT,
- ) -> UINT;
- pub fn RequestDeviceWakeup(
- hDevice: HANDLE,
- ) -> BOOL;
- pub fn CancelDeviceWakeupRequest(
- hDevice: HANDLE,
- ) -> BOOL;
- pub fn GetDevicePowerState(
- hDevice: HANDLE,
- pfOn: *mut BOOL,
- ) -> BOOL;
- pub fn SetMessageWaitingIndicator(
- hMsgIndicator: HANDLE,
- ulMsgCount: ULONG,
- ) -> BOOL;
- pub fn SetFileShortNameA(
- hFile: HANDLE,
- lpShortName: LPCSTR,
- ) -> BOOL;
- pub fn SetFileShortNameW(
- hFile: HANDLE,
- lpShortName: LPCWSTR,
- ) -> BOOL;
-}
-pub const HANDLE_FLAG_INHERIT: DWORD = 0x00000001;
-pub const HANDLE_FLAG_PROTECT_FROM_CLOSE: DWORD = 0x00000002;
-extern "system" {
- pub fn LoadModule(
- lpModuleName: LPCSTR,
- lpParameterBlock: LPVOID,
- ) -> DWORD;
- pub fn WinExec(
- lpCmdLine: LPCSTR,
- uCmdShow: UINT,
- ) -> UINT;
- // ClearCommBreak
- // ClearCommError
- // SetupComm
- // EscapeCommFunction
- // GetCommConfig
- // GetCommMask
- // GetCommProperties
- // GetCommModemStatus
- // GetCommState
- // GetCommTimeouts
- // PurgeComm
- // SetCommBreak
- // SetCommConfig
- // SetCommMask
- // SetCommState
- // SetCommTimeouts
- // TransmitCommChar
- // WaitCommEvent
- pub fn SetTapePosition(
- hDevice: HANDLE,
- dwPositionMethod: DWORD,
- dwPartition: DWORD,
- dwOffsetLow: DWORD,
- dwOffsetHigh: DWORD,
- bImmediate: BOOL,
- ) -> DWORD;
- pub fn GetTapePosition(
- hDevice: HANDLE,
- dwPositionType: DWORD,
- lpdwPartition: LPDWORD,
- lpdwOffsetLow: LPDWORD,
- lpdwOffsetHigh: LPDWORD,
- ) -> DWORD;
- pub fn PrepareTape(
- hDevice: HANDLE,
- dwOperation: DWORD,
- bImmediate: BOOL,
- ) -> DWORD;
- pub fn EraseTape(
- hDevice: HANDLE,
- dwEraseType: DWORD,
- bImmediate: BOOL,
- ) -> DWORD;
- pub fn CreateTapePartition(
- hDevice: HANDLE,
- dwPartitionMethod: DWORD,
- dwCount: DWORD,
- dwSize: DWORD,
- ) -> DWORD;
- pub fn WriteTapemark(
- hDevice: HANDLE,
- dwTapemarkType: DWORD,
- dwTapemarkCount: DWORD,
- bImmediate: BOOL,
- ) -> DWORD;
- pub fn GetTapeStatus(
- hDevice: HANDLE,
- ) -> DWORD;
- pub fn GetTapeParameters(
- hDevice: HANDLE,
- dwOperation: DWORD,
- lpdwSize: LPDWORD,
- lpTapeInformation: LPVOID,
- ) -> DWORD;
- pub fn SetTapeParameters(
- hDevice: HANDLE,
- dwOperation: DWORD,
- lpTapeInformation: LPVOID,
- ) -> DWORD;
- pub fn MulDiv(
- nNumber: c_int,
- nNumerator: c_int,
- nDenominator: c_int,
- ) -> c_int;
-}
-ENUM!{enum DEP_SYSTEM_POLICY_TYPE {
- DEPPolicyAlwaysOff = 0,
- DEPPolicyAlwaysOn,
- DEPPolicyOptIn,
- DEPPolicyOptOut,
- DEPTotalPolicyCount,
-}}
-extern "system" {
- pub fn GetSystemDEPPolicy() -> DEP_SYSTEM_POLICY_TYPE;
- pub fn GetSystemRegistryQuota(
- pdwQuotaAllowed: PDWORD,
- pdwQuotaUsed: PDWORD,
- ) -> BOOL;
- pub fn FileTimeToDosDateTime(
- lpFileTime: *const FILETIME,
- lpFatDate: LPWORD,
- lpFatTime: LPWORD,
- ) -> BOOL;
- pub fn DosDateTimeToFileTime(
- wFatDate: WORD,
- wFatTime: WORD,
- lpFileTime: LPFILETIME,
- ) -> BOOL;
- pub fn FormatMessageA(
- dwFlags: DWORD,
- lpSource: LPCVOID,
- dwMessageId: DWORD,
- dwLanguageId: DWORD,
- lpBuffer: LPSTR,
- nSize: DWORD,
- Arguments: *mut va_list,
- ) -> DWORD;
- pub fn FormatMessageW(
- dwFlags: DWORD,
- lpSource: LPCVOID,
- dwMessageId: DWORD,
- dwLanguageId: DWORD,
- lpBuffer: LPWSTR,
- nSize: DWORD,
- Arguments: *mut va_list,
- ) -> DWORD;
-}
-pub const FORMAT_MESSAGE_IGNORE_INSERTS: DWORD = 0x00000200;
-pub const FORMAT_MESSAGE_FROM_STRING: DWORD = 0x00000400;
-pub const FORMAT_MESSAGE_FROM_HMODULE: DWORD = 0x00000800;
-pub const FORMAT_MESSAGE_FROM_SYSTEM: DWORD = 0x00001000;
-pub const FORMAT_MESSAGE_ARGUMENT_ARRAY: DWORD = 0x00002000;
-pub const FORMAT_MESSAGE_MAX_WIDTH_MASK: DWORD = 0x000000FF;
-pub const FORMAT_MESSAGE_ALLOCATE_BUFFER: DWORD = 0x00000100;
-extern "system" {
- pub fn CreateMailslotA(
- lpName: LPCSTR,
- nMaxMessageSize: DWORD,
- lReadTimeout: DWORD,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- ) -> HANDLE;
- pub fn CreateMailslotW(
- lpName: LPCWSTR,
- nMaxMessageSize: DWORD,
- lReadTimeout: DWORD,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- ) -> HANDLE;
- pub fn GetMailslotInfo(
- hMailslot: HANDLE,
- lpMaxMessageSize: LPDWORD,
- lpNextSize: LPDWORD,
- lpMessageCount: LPDWORD,
- lpReadTimeout: LPDWORD,
- ) -> BOOL;
- pub fn SetMailslotInfo(
- hMailslot: HANDLE,
- lReadTimeout: DWORD,
- ) -> BOOL;
- // pub fn EncryptFileA();
- // pub fn EncryptFileW();
- // pub fn DecryptFileA();
- // pub fn DecryptFileW();
- // pub fn FileEncryptionStatusA();
- // pub fn FileEncryptionStatusW();
- // pub fn OpenEncryptedFileRawA();
- // pub fn OpenEncryptedFileRawW();
- // pub fn ReadEncryptedFileRaw();
- // pub fn WriteEncryptedFileRaw();
- // pub fn CloseEncryptedFileRaw();
- pub fn lstrcmpA(
- lpString1: LPCSTR,
- lpString2: LPCSTR,
- ) -> c_int;
- pub fn lstrcmpW(
- lpString1: LPCWSTR,
- lpString2: LPCWSTR,
- ) -> c_int;
- pub fn lstrcmpiA(
- lpString1: LPCSTR,
- lpString2: LPCSTR,
- ) -> c_int;
- pub fn lstrcmpiW(
- lpString1: LPCWSTR,
- lpString2: LPCWSTR,
- ) -> c_int;
- pub fn lstrcpynA(
- lpString1: LPSTR,
- lpString2: LPCSTR,
- iMaxLength: c_int,
- ) -> LPSTR;
- pub fn lstrcpynW(
- lpString1: LPWSTR,
- lpString2: LPCWSTR,
- iMaxLength: c_int,
- ) -> LPWSTR;
- pub fn lstrcpyA(
- lpString1: LPSTR,
- lpString2: LPCSTR,
- ) -> LPSTR;
- pub fn lstrcpyW(
- lpString1: LPWSTR,
- lpString2: LPCWSTR,
- ) -> LPWSTR;
- pub fn lstrcatA(
- lpString1: LPSTR,
- lpString2: LPCSTR,
- ) -> LPSTR;
- pub fn lstrcatW(
- lpString1: LPWSTR,
- lpString2: LPCWSTR,
- ) -> LPWSTR;
- pub fn lstrlenA(
- lpString: LPCSTR,
- ) -> c_int;
- pub fn lstrlenW(
- lpString: LPCWSTR,
- ) -> c_int;
- pub fn OpenFile(
- lpFileName: LPCSTR,
- lpReOpenBuff: LPOFSTRUCT,
- uStyle: UINT,
- ) -> HFILE;
- pub fn _lopen(
- lpPathName: LPCSTR,
- iReadWrite: c_int,
- ) -> HFILE;
- pub fn _lcreat(
- lpPathName: LPCSTR,
- iAttrubute: c_int,
- ) -> HFILE;
- pub fn _lread(
- hFile: HFILE,
- lpBuffer: LPVOID,
- uBytes: UINT,
- ) -> UINT;
- pub fn _lwrite(
- hFile: HFILE,
- lpBuffer: LPCCH,
- uBytes: UINT,
- ) -> UINT;
- pub fn _hread(
- hFile: HFILE,
- lpBuffer: LPVOID,
- lBytes: c_long,
- ) -> c_long;
- pub fn _hwrite(
- hFile: HFILE,
- lpBuffer: LPCCH,
- lBytes: c_long,
- ) -> c_long;
- pub fn _lclose(
- hFile: HFILE,
- ) -> HFILE;
- pub fn _llseek(
- hFile: HFILE,
- lOffset: LONG,
- iOrigin: c_int,
- ) -> LONG;
- // pub fn IsTextUnicode();
- // pub fn SignalObjectAndWait();
- pub fn BackupRead(
- hFile: HANDLE,
- lpBuffer: LPBYTE,
- nNumberOfBytesToRead: DWORD,
- lpNumberOfBytesRead: LPDWORD,
- bAbort: BOOL,
- bProcessSecurity: BOOL,
- lpContext: *mut LPVOID,
- ) -> BOOL;
- pub fn BackupSeek(
- hFile: HANDLE,
- dwLowBytesToSeek: DWORD,
- dwHighBytesToSeek: DWORD,
- lpdwLowByteSeeked: LPDWORD,
- lpdwHighByteSeeked: LPDWORD,
- lpContext: *mut LPVOID,
- ) -> BOOL;
- pub fn BackupWrite(
- hFile: HANDLE,
- lpBuffer: LPBYTE,
- nNumberOfBytesToWrite: DWORD,
- lpNumberOfBytesWritten: LPDWORD,
- bAbort: BOOL,
- bProcessSecurity: BOOL,
- lpContext: *mut LPVOID,
- ) -> BOOL;
-}
-//2886
-pub const STARTF_USESHOWWINDOW: DWORD = 0x00000001;
-pub const STARTF_USESIZE: DWORD = 0x00000002;
-pub const STARTF_USEPOSITION: DWORD = 0x00000004;
-pub const STARTF_USECOUNTCHARS: DWORD = 0x00000008;
-pub const STARTF_USEFILLATTRIBUTE: DWORD = 0x00000010;
-pub const STARTF_RUNFULLSCREEN: DWORD = 0x00000020;
-pub const STARTF_FORCEONFEEDBACK: DWORD = 0x00000040;
-pub const STARTF_FORCEOFFFEEDBACK: DWORD = 0x00000080;
-pub const STARTF_USESTDHANDLES: DWORD = 0x00000100;
-pub const STARTF_USEHOTKEY: DWORD = 0x00000200;
-pub const STARTF_TITLEISLINKNAME: DWORD = 0x00000800;
-pub const STARTF_TITLEISAPPID: DWORD = 0x00001000;
-pub const STARTF_PREVENTPINNING: DWORD = 0x00002000;
-pub const STARTF_UNTRUSTEDSOURCE: DWORD = 0x00008000;
-STRUCT!{struct STARTUPINFOEXA {
- StartupInfo: STARTUPINFOA,
- lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST,
-}}
-pub type LPSTARTUPINFOEXA = *mut STARTUPINFOEXA;
-STRUCT!{struct STARTUPINFOEXW {
- StartupInfo: STARTUPINFOW,
- lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST,
-}}
-pub type LPSTARTUPINFOEXW = *mut STARTUPINFOEXW;
-extern "system" {
- pub fn OpenMutexA(
- dwDesiredAccess: DWORD,
- bInheritHandle: BOOL,
- lpName: LPCSTR,
- ) -> HANDLE;
- pub fn CreateSemaphoreA(
- lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES,
- lInitialCount: LONG,
- lMaximumCount: LONG,
- lpName: LPCSTR,
- ) -> HANDLE;
- pub fn OpenSemaphoreA(
- dwDesiredAccess: DWORD,
- bInheritHandle: BOOL,
- lpName: LPCSTR,
- ) -> HANDLE;
- pub fn CreateWaitableTimerA(
- lpTimerAttributes: LPSECURITY_ATTRIBUTES,
- bManualReset: BOOL,
- lpTimerName: LPCSTR,
- ) -> HANDLE;
- pub fn OpenWaitableTimerA(
- dwDesiredAccess: DWORD,
- bInheritHandle: BOOL,
- lpTimerName: LPCSTR,
- ) -> HANDLE;
- pub fn CreateSemaphoreExA(
- lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES,
- lInitialCount: LONG,
- lMaximumCount: LONG,
- lpName: LPCSTR,
- dwFlags: DWORD,
- dwDesiredAccess: DWORD,
- ) -> HANDLE;
- pub fn CreateWaitableTimerExA(
- lpTimerAttributes: LPSECURITY_ATTRIBUTES,
- lpTimerName: LPCSTR,
- dwFlags: DWORD,
- dwDesiredAccess: DWORD,
- ) -> HANDLE;
- pub fn CreateFileMappingA(
- hFile: HANDLE,
- lpAttributes: LPSECURITY_ATTRIBUTES,
- flProtect: DWORD,
- dwMaximumSizeHigh: DWORD,
- dwMaximumSizeLow: DWORD,
- lpName: LPCSTR,
- ) -> HANDLE;
- pub fn CreateFileMappingNumaA(
- hFile: HANDLE,
- lpFileMappingAttributes: LPSECURITY_ATTRIBUTES,
- flProtect: DWORD,
- dwMaximumSizeHigh: DWORD,
- dwMaximumSizeLow: DWORD,
- lpName: LPCSTR,
- nndPreferred: DWORD,
- ) -> HANDLE;
- pub fn OpenFileMappingA(
- dwDesiredAccess: DWORD,
- bInheritHandle: BOOL,
- lpName: LPCSTR,
- ) -> HANDLE;
- pub fn GetLogicalDriveStringsA(
- nBufferLength: DWORD,
- lpBuffer: LPSTR,
- ) -> DWORD;
- pub fn LoadPackagedLibrary(
- lpwLibFileName: LPCWSTR,
- Reserved: DWORD,
- ) -> HMODULE;
- pub fn QueryFullProcessImageNameA(
- hProcess: HANDLE,
- dwFlags: DWORD,
- lpExeName: LPSTR,
- lpdwSize: PDWORD,
- ) -> BOOL;
- pub fn QueryFullProcessImageNameW(
- hProcess: HANDLE,
- dwFlags: DWORD,
- lpExeName: LPWSTR,
- lpdwSize: PDWORD,
- ) -> BOOL;
-}
-//3233
-extern "system" {
- pub fn GetStartupInfoA(
- lpStartupInfo: LPSTARTUPINFOA,
- );
- pub fn GetFirmwareEnvironmentVariableA(
- lpName: LPCSTR,
- lpGuid: LPCSTR,
- pBuffer: PVOID,
- nSize: DWORD,
- ) -> DWORD;
- pub fn GetFirmwareEnvironmentVariableW(
- lpName: LPCWSTR,
- lpGuid: LPCWSTR,
- pBuffer: PVOID,
- nSize: DWORD,
- ) -> DWORD;
- pub fn GetFirmwareEnvironmentVariableExA(
- lpName: LPCSTR,
- lpGuid: LPCSTR,
- pBuffer: PVOID,
- nSize: DWORD,
- pdwAttribubutes: PDWORD,
- ) -> DWORD;
- pub fn GetFirmwareEnvironmentVariableExW(
- lpName: LPCWSTR,
- lpGuid: LPCWSTR,
- pBuffer: PVOID,
- nSize: DWORD,
- pdwAttribubutes: PDWORD,
- ) -> DWORD;
- pub fn SetFirmwareEnvironmentVariableA(
- lpName: LPCSTR,
- lpGuid: LPCSTR,
- pValue: PVOID,
- nSize: DWORD,
- ) -> BOOL;
- pub fn SetFirmwareEnvironmentVariableW(
- lpName: LPCWSTR,
- lpGuid: LPCWSTR,
- pValue: PVOID,
- nSize: DWORD,
- ) -> BOOL;
- pub fn SetFirmwareEnvironmentVariableExA(
- lpName: LPCSTR,
- lpGuid: LPCSTR,
- pValue: PVOID,
- nSize: DWORD,
- dwAttributes: DWORD,
- ) -> BOOL;
- pub fn SetFirmwareEnvironmentVariableExW(
- lpName: LPCWSTR,
- lpGuid: LPCWSTR,
- pValue: PVOID,
- nSize: DWORD,
- dwAttributes: DWORD,
- ) -> BOOL;
- pub fn GetFirmwareType(
- FirmwareType: PFIRMWARE_TYPE,
- ) -> BOOL;
- pub fn IsNativeVhdBoot(
- NativeVhdBoot: PBOOL,
- ) -> BOOL;
- pub fn FindResourceA(
- hModule: HMODULE,
- lpName: LPCSTR,
- lpType: LPCSTR,
- ) -> HRSRC;
- pub fn FindResourceExA(
- hModule: HMODULE,
- lpName: LPCSTR,
- lpType: LPCSTR,
- wLanguage: WORD,
- ) -> HRSRC;
- pub fn EnumResourceTypesA(
- hModule: HMODULE,
- lpEnumFunc: ENUMRESTYPEPROCA,
- lParam: LONG_PTR,
- ) -> BOOL;
- pub fn EnumResourceTypesW(
- hModule: HMODULE,
- lpEnumFunc: ENUMRESTYPEPROCW,
- lParam: LONG_PTR,
- ) -> BOOL;
- pub fn EnumResourceNamesA(
- hModule: HMODULE,
- lpType: LPCSTR,
- lpEnumFunc: ENUMRESNAMEPROCA,
- lParam: LONG_PTR,
- ) -> BOOL;
- pub fn EnumResourceLanguagesA(
- hModule: HMODULE,
- lpType: LPCSTR,
- lpName: LPCSTR,
- lpEnumFunc: ENUMRESLANGPROCA,
- lParam: LONG_PTR,
- ) -> BOOL;
- pub fn EnumResourceLanguagesW(
- hModule: HMODULE,
- lpType: LPCWSTR,
- lpName: LPCWSTR,
- lpEnumFunc: ENUMRESLANGPROCW,
- lParam: LONG_PTR,
- ) -> BOOL;
- pub fn BeginUpdateResourceA(
- pFileName: LPCSTR,
- bDeleteExistingResources: BOOL,
- ) -> HANDLE;
- pub fn BeginUpdateResourceW(
- pFileName: LPCWSTR,
- bDeleteExistingResources: BOOL,
- ) -> HANDLE;
- pub fn UpdateResourceA(
- hUpdate: HANDLE,
- lpType: LPCSTR,
- lpName: LPCSTR,
- wLanguage: WORD,
- lpData: LPVOID,
- cb: DWORD,
- ) -> BOOL;
- pub fn UpdateResourceW(
- hUpdate: HANDLE,
- lpType: LPCWSTR,
- lpName: LPCWSTR,
- wLanguage: WORD,
- lpData: LPVOID,
- cb: DWORD,
- ) -> BOOL;
- pub fn EndUpdateResourceA(
- hUpdate: HANDLE,
- fDiscard: BOOL,
- ) -> BOOL;
- pub fn EndUpdateResourceW(
- hUpdate: HANDLE,
- fDiscard: BOOL,
- ) -> BOOL;
- pub fn GlobalAddAtomA(
- lpString: LPCSTR,
- ) -> ATOM;
- pub fn GlobalAddAtomW(
- lpString: LPCWSTR,
- ) -> ATOM;
- pub fn GlobalAddAtomExA(
- lpString: LPCSTR,
- Flags: DWORD,
- ) -> ATOM;
- pub fn GlobalAddAtomExW(
- lpString: LPCWSTR,
- Flags: DWORD,
- ) -> ATOM;
- pub fn GlobalFindAtomA(
- lpString: LPCSTR,
- ) -> ATOM;
- pub fn GlobalFindAtomW(
- lpString: LPCWSTR,
- ) -> ATOM;
- pub fn GlobalGetAtomNameA(
- nAtom: ATOM,
- lpBuffer: LPSTR,
- nSize: c_int,
- ) -> UINT;
- pub fn GlobalGetAtomNameW(
- nAtom: ATOM,
- lpBuffer: LPWSTR,
- nSize: c_int,
- ) -> UINT;
- pub fn AddAtomA(
- lpString: LPCSTR,
- ) -> ATOM;
- pub fn AddAtomW(
- lpString: LPCWSTR,
- ) -> ATOM;
- pub fn FindAtomA(
- lpString: LPCSTR,
- ) -> ATOM;
- pub fn FindAtomW(
- lpString: LPCWSTR,
- ) -> ATOM;
- pub fn GetAtomNameA(
- nAtom: ATOM,
- lpBuffer: LPSTR,
- nSize: c_int,
- ) -> UINT;
- pub fn GetAtomNameW(
- nAtom: ATOM,
- lpBuffer: LPWSTR,
- nSize: c_int,
- ) -> UINT;
- pub fn GetProfileIntA(
- lpAppName: LPCSTR,
- lpKeyName: LPCSTR,
- nDefault: INT,
- ) -> UINT;
- pub fn GetProfileIntW(
- lpAppName: LPCWSTR,
- lpKeyName: LPCWSTR,
- nDefault: INT,
- ) -> UINT;
- pub fn GetProfileStringA(
- lpAppName: LPCSTR,
- lpKeyName: LPCSTR,
- lpDefault: LPCSTR,
- lpReturnedString: LPSTR,
- nSize: DWORD,
- ) -> DWORD;
- pub fn GetProfileStringW(
- lpAppName: LPCWSTR,
- lpKeyName: LPCWSTR,
- lpDefault: LPCWSTR,
- lpReturnedString: LPWSTR,
- nSize: DWORD,
- ) -> DWORD;
- pub fn WriteProfileStringA(
- lpAppName: LPCSTR,
- lpKeyName: LPCSTR,
- lpString: LPCSTR,
- ) -> BOOL;
- pub fn WriteProfileStringW(
- lpAppName: LPCWSTR,
- lpKeyName: LPCWSTR,
- lpString: LPCWSTR,
- ) -> BOOL;
- pub fn GetProfileSectionA(
- lpAppName: LPCSTR,
- lpReturnedString: LPSTR,
- nSize: DWORD,
- ) -> DWORD;
- pub fn GetProfileSectionW(
- lpAppName: LPCWSTR,
- lpReturnedString: LPWSTR,
- nSize: DWORD,
- ) -> DWORD;
- pub fn WriteProfileSectionA(
- lpAppName: LPCSTR,
- lpString: LPCSTR,
- ) -> BOOL;
- pub fn WriteProfileSectionW(
- lpAppName: LPCWSTR,
- lpString: LPCWSTR,
- ) -> BOOL;
- pub fn GetPrivateProfileIntA(
- lpAppName: LPCSTR,
- lpKeyName: LPCSTR,
- nDefault: INT,
- lpFileName: LPCSTR,
- ) -> UINT;
- pub fn GetPrivateProfileIntW(
- lpAppName: LPCWSTR,
- lpKeyName: LPCWSTR,
- nDefault: INT,
- lpFileName: LPCWSTR,
- ) -> UINT;
- pub fn GetPrivateProfileStringA(
- lpAppName: LPCSTR,
- lpKeyName: LPCSTR,
- lpDefault: LPCSTR,
- lpReturnedString: LPSTR,
- nSize: DWORD,
- lpFileName: LPCSTR,
- ) -> DWORD;
- pub fn GetPrivateProfileStringW(
- lpAppName: LPCWSTR,
- lpKeyName: LPCWSTR,
- lpDefault: LPCWSTR,
- lpReturnedString: LPWSTR,
- nSize: DWORD,
- lpFileName: LPCWSTR,
- ) -> DWORD;
- pub fn WritePrivateProfileStringA(
- lpAppName: LPCSTR,
- lpKeyName: LPCSTR,
- lpString: LPCSTR,
- lpFileName: LPCSTR,
- ) -> BOOL;
- pub fn WritePrivateProfileStringW(
- lpAppName: LPCWSTR,
- lpKeyName: LPCWSTR,
- lpString: LPCWSTR,
- lpFileName: LPCWSTR,
- ) -> BOOL;
- pub fn GetPrivateProfileSectionA(
- lpAppName: LPCSTR,
- lpReturnedString: LPSTR,
- nSize: DWORD,
- lpFileName: LPCSTR,
- ) -> DWORD;
- pub fn GetPrivateProfileSectionW(
- lpAppName: LPCWSTR,
- lpReturnedString: LPWSTR,
- nSize: DWORD,
- lpFileName: LPCWSTR,
- ) -> DWORD;
- pub fn WritePrivateProfileSectionA(
- lpAppName: LPCSTR,
- lpString: LPCSTR,
- lpFileName: LPCSTR,
- ) -> BOOL;
- pub fn WritePrivateProfileSectionW(
- lpAppName: LPCWSTR,
- lpString: LPCWSTR,
- lpFileName: LPCWSTR,
- ) -> BOOL;
- pub fn GetPrivateProfileSectionNamesA(
- lpszReturnBuffer: LPSTR,
- nSize: DWORD,
- lpFileName: LPCSTR,
- ) -> DWORD;
- pub fn GetPrivateProfileSectionNamesW(
- lpszReturnBuffer: LPWSTR,
- nSize: DWORD,
- lpFileName: LPCWSTR,
- ) -> DWORD;
- pub fn GetPrivateProfileStructA(
- lpszSection: LPCSTR,
- lpszKey: LPCSTR,
- lpStruct: LPVOID,
- uSizeStruct: UINT,
- szFile: LPCSTR,
- ) -> BOOL;
- pub fn GetPrivateProfileStructW(
- lpszSection: LPCWSTR,
- lpszKey: LPCWSTR,
- lpStruct: LPVOID,
- uSizeStruct: UINT,
- szFile: LPCWSTR,
- ) -> BOOL;
- pub fn WritePrivateProfileStructA(
- lpszSection: LPCSTR,
- lpszKey: LPCSTR,
- lpStruct: LPVOID,
- uSizeStruct: UINT,
- szFile: LPCSTR,
- ) -> BOOL;
- pub fn WritePrivateProfileStructW(
- lpszSection: LPCWSTR,
- lpszKey: LPCWSTR,
- lpStruct: LPVOID,
- uSizeStruct: UINT,
- szFile: LPCWSTR,
- ) -> BOOL;
- pub fn Wow64EnableWow64FsRedirection(
- Wow64FsEnableRedirection: BOOLEAN,
- ) -> BOOLEAN;
- pub fn SetDllDirectoryA(
- lpPathName: LPCSTR,
- ) -> BOOL;
- pub fn SetDllDirectoryW(
- lpPathName: LPCWSTR,
- ) -> BOOL;
- pub fn GetDllDirectoryA(
- nBufferLength: DWORD,
- lpBuffer: LPSTR,
- ) -> DWORD;
- pub fn GetDllDirectoryW(
- nBufferLength: DWORD,
- lpBuffer: LPWSTR,
- ) -> DWORD;
- pub fn SetSearchPathMode(
- Flags: DWORD,
- ) -> BOOL;
- pub fn CreateDirectoryExA(
- lpTemplateDirectory: LPCSTR,
- lpNewDirectory: LPCSTR,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- ) -> BOOL;
- pub fn CreateDirectoryExW(
- lpTemplateDirectory: LPCWSTR,
- lpNewDirectory: LPCWSTR,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- ) -> BOOL;
- pub fn CreateDirectoryTransactedA(
- lpTemplateDirectory: LPCSTR,
- lpNewDirectory: LPCSTR,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn CreateDirectoryTransactedW(
- lpTemplateDirectory: LPCWSTR,
- lpNewDirectory: LPCWSTR,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn RemoveDirectoryTransactedA(
- lpPathName: LPCSTR,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn RemoveDirectoryTransactedW(
- lpPathName: LPCWSTR,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn GetFullPathNameTransactedA(
- lpFileName: LPCSTR,
- nBufferLength: DWORD,
- lpBuffer: LPSTR,
- lpFilePart: *mut LPSTR,
- hTransaction: HANDLE,
- ) -> DWORD;
- pub fn GetFullPathNameTransactedW(
- lpFileName: LPCWSTR,
- nBufferLength: DWORD,
- lpBuffer: LPWSTR,
- lpFilePart: *mut LPWSTR,
- hTransaction: HANDLE,
- );
- pub fn DefineDosDeviceA(
- dwFlags: DWORD,
- lpDeviceName: LPCSTR,
- lpTargetPath: LPCSTR,
- ) -> BOOL;
- pub fn QueryDosDeviceA(
- lpDeviceName: LPCSTR,
- lpTargetPath: LPSTR,
- ucchMax: DWORD,
- ) -> DWORD;
- pub fn CreateFileTransactedA(
- lpFileName: LPCSTR,
- dwDesiredAccess: DWORD,
- dwShareMode: DWORD,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- dwCreationDisposition: DWORD,
- dwFlagsAndAttributes: DWORD,
- hTemplateFile: HANDLE,
- hTransaction: HANDLE,
- pusMiniVersion: PUSHORT,
- lpExtendedParameter: PVOID,
- ) -> HANDLE;
- pub fn CreateFileTransactedW(
- lpFileName: LPCWSTR,
- dwDesiredAccess: DWORD,
- dwShareMode: DWORD,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- dwCreationDisposition: DWORD,
- dwFlagsAndAttributes: DWORD,
- hTemplateFile: HANDLE,
- hTransaction: HANDLE,
- pusMiniVersion: PUSHORT,
- lpExtendedParameter: PVOID,
- ) -> HANDLE;
- pub fn ReOpenFile(
- hOriginalFile: HANDLE,
- dwDesiredAccess: DWORD,
- dwShareMode: DWORD,
- dwFlags: DWORD,
- ) -> HANDLE;
- pub fn SetFileAttributesTransactedA(
- lpFileName: LPCSTR,
- dwFileAttributes: DWORD,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn SetFileAttributesTransactedW(
- lpFileName: LPCWSTR,
- dwFileAttributes: DWORD,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn GetFileAttributesTransactedA(
- lpFileName: LPCSTR,
- fInfoLevelId: GET_FILEEX_INFO_LEVELS,
- lpFileInformation: LPVOID,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn GetFileAttributesTransactedW(
- lpFileName: LPCWSTR,
- fInfoLevelId: GET_FILEEX_INFO_LEVELS,
- lpFileInformation: LPVOID,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn GetCompressedFileSizeTransactedA(
- lpFileName: LPCSTR,
- lpFileSizeHigh: LPDWORD,
- hTransaction: HANDLE,
- ) -> DWORD;
- pub fn GetCompressedFileSizeTransactedW(
- lpFileName: LPCWSTR,
- lpFileSizeHigh: LPDWORD,
- hTransaction: HANDLE,
- );
- pub fn DeleteFileTransactedA(
- lpFileName: LPCSTR,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn DeleteFileTransactedW(
- lpFileName: LPCWSTR,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn CheckNameLegalDOS8Dot3A(
- lpName: LPCSTR,
- lpOemName: LPSTR,
- OemNameSize: DWORD,
- pbNameContainsSpaces: PBOOL,
- pbNameLegal: PBOOL,
- ) -> BOOL;
- pub fn CheckNameLegalDOS8Dot3W(
- lpName: LPCWSTR,
- lpOemName: LPSTR,
- OemNameSize: DWORD,
- pbNameContainsSpaces: PBOOL,
- pbNameLegal: PBOOL,
- ) -> BOOL;
- pub fn FindFirstFileTransactedA(
- lpFileName: LPCSTR,
- fInfoLevelId: FINDEX_INFO_LEVELS,
- lpFindFileData: LPVOID,
- fSearchOp: FINDEX_SEARCH_OPS,
- lpSearchFilter: LPVOID,
- dwAdditionalFlags: DWORD,
- hTransaction: HANDLE,
- ) -> HANDLE;
- pub fn FindFirstFileTransactedW(
- lpFileName: LPCWSTR,
- fInfoLevelId: FINDEX_INFO_LEVELS,
- lpFindFileData: LPVOID,
- fSearchOp: FINDEX_SEARCH_OPS,
- lpSearchFilter: LPVOID,
- dwAdditionalFlags: DWORD,
- hTransaction: HANDLE,
- ) -> HANDLE;
- pub fn CopyFileA(
- lpExistingFileName: LPCSTR,
- lpNewFileName: LPCSTR,
- bFailIfExists: BOOL,
- ) -> BOOL;
- pub fn CopyFileW(
- lpExistingFileName: LPCWSTR,
- lpNewFileName: LPCWSTR,
- bFailIfExists: BOOL,
- ) -> BOOL;
-}
-FN!{stdcall LPPROGRESS_ROUTINE(
- TotalFileSize: LARGE_INTEGER,
- TotalBytesTransferred: LARGE_INTEGER,
- StreamSize: LARGE_INTEGER,
- StreamBytesTransferred: LARGE_INTEGER,
- dwStreamNumber: DWORD,
- dwCallbackReason: DWORD,
- hSourceFile: HANDLE,
- hDestinationFile: HANDLE,
- lpData: LPVOID,
-) -> DWORD}
-extern "system" {
- pub fn CopyFileExA(
- lpExistingFileName: LPCSTR,
- lpNewFileName: LPCSTR,
- lpProgressRoutine: LPPROGRESS_ROUTINE,
- lpData: LPVOID,
- pbCancel: LPBOOL,
- dwCopyFlags: DWORD,
- ) -> BOOL;
- pub fn CopyFileExW(
- lpExistingFileName: LPCWSTR,
- lpNewFileName: LPCWSTR,
- lpProgressRoutine: LPPROGRESS_ROUTINE,
- lpData: LPVOID,
- pbCancel: LPBOOL,
- dwCopyFlags: DWORD,
- ) -> BOOL;
- pub fn CopyFileTransactedA(
- lpExistingFileName: LPCWSTR,
- lpNewFileName: LPCWSTR,
- lpProgressRoutine: LPPROGRESS_ROUTINE,
- lpData: LPVOID,
- pbCancel: LPBOOL,
- dwCopyFlags: DWORD,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn CopyFileTransactedW(
- lpExistingFileName: LPCWSTR,
- lpNewFileName: LPCWSTR,
- lpProgressRoutine: LPPROGRESS_ROUTINE,
- lpData: LPVOID,
- pbCancel: LPBOOL,
- dwCopyFlags: DWORD,
- hTransaction: HANDLE,
- ) -> BOOL;
-}
-ENUM!{enum COPYFILE2_MESSAGE_TYPE {
- COPYFILE2_CALLBACK_NONE = 0,
- COPYFILE2_CALLBACK_CHUNK_STARTED,
- COPYFILE2_CALLBACK_CHUNK_FINISHED,
- COPYFILE2_CALLBACK_STREAM_STARTED,
- COPYFILE2_CALLBACK_STREAM_FINISHED,
- COPYFILE2_CALLBACK_POLL_CONTINUE,
- COPYFILE2_CALLBACK_ERROR,
- COPYFILE2_CALLBACK_MAX,
-}}
-ENUM!{enum COPYFILE2_MESSAGE_ACTION {
- COPYFILE2_PROGRESS_CONTINUE = 0,
- COPYFILE2_PROGRESS_CANCEL,
- COPYFILE2_PROGRESS_STOP,
- COPYFILE2_PROGRESS_QUIET,
- COPYFILE2_PROGRESS_PAUSE,
-}}
-ENUM!{enum COPYFILE2_COPY_PHASE {
- COPYFILE2_PHASE_NONE = 0,
- COPYFILE2_PHASE_PREPARE_SOURCE,
- COPYFILE2_PHASE_PREPARE_DEST,
- COPYFILE2_PHASE_READ_SOURCE,
- COPYFILE2_PHASE_WRITE_DESTINATION,
- COPYFILE2_PHASE_SERVER_COPY,
- COPYFILE2_PHASE_NAMEGRAFT_COPY,
- COPYFILE2_PHASE_MAX,
-}}
-STRUCT!{struct COPYFILE2_MESSAGE_ChunkStarted {
- dwStreamNumber: DWORD,
- dwReserved: DWORD,
- hSourceFile: HANDLE,
- hDestinationFile: HANDLE,
- uliChunkNumber: ULARGE_INTEGER,
- uliChunkSize: ULARGE_INTEGER,
- uliStreamSize: ULARGE_INTEGER,
- uliTotalFileSize: ULARGE_INTEGER,
-}}
-STRUCT!{struct COPYFILE2_MESSAGE_ChunkFinished {
- dwStreamNumber: DWORD,
- dwFlags: DWORD,
- hSourceFile: HANDLE,
- hDestinationFile: HANDLE,
- uliChunkNumber: ULARGE_INTEGER,
- uliChunkSize: ULARGE_INTEGER,
- uliStreamSize: ULARGE_INTEGER,
- uliStreamBytesTransferred: ULARGE_INTEGER,
- uliTotalFileSize: ULARGE_INTEGER,
- uliTotalBytesTransferred: ULARGE_INTEGER,
-}}
-STRUCT!{struct COPYFILE2_MESSAGE_StreamStarted {
- dwStreamNumber: DWORD,
- dwReserved: DWORD,
- hSourceFile: HANDLE,
- hDestinationFile: HANDLE,
- uliStreamSize: ULARGE_INTEGER,
- uliTotalFileSize: ULARGE_INTEGER,
-}}
-STRUCT!{struct COPYFILE2_MESSAGE_StreamFinished {
- dwStreamNumber: DWORD,
- dwReserved: DWORD,
- hSourceFile: HANDLE,
- hDestinationFile: HANDLE,
- uliStreamSize: ULARGE_INTEGER,
- uliStreamBytesTransferred: ULARGE_INTEGER,
- uliTotalFileSize: ULARGE_INTEGER,
- uliTotalBytesTransferred: ULARGE_INTEGER,
-}}
-STRUCT!{struct COPYFILE2_MESSAGE_PollContinue {
- dwReserved: DWORD,
-}}
-STRUCT!{struct COPYFILE2_MESSAGE_Error {
- CopyPhase: COPYFILE2_COPY_PHASE,
- dwStreamNumber: DWORD,
- hrFailure: HRESULT,
- dwReserved: DWORD,
- uliChunkNumber: ULARGE_INTEGER,
- uliStreamSize: ULARGE_INTEGER,
- uliStreamBytesTransferred: ULARGE_INTEGER,
- uliTotalFileSize: ULARGE_INTEGER,
- uliTotalBytesTransferred: ULARGE_INTEGER,
-}}
-UNION!{union COPYFILE2_MESSAGE_Info {
- [u64; 8] [u64; 9],
- ChunkStarted ChunkStarted_mut: COPYFILE2_MESSAGE_ChunkStarted,
- ChunkFinished ChunkFinished_mut: COPYFILE2_MESSAGE_ChunkFinished,
- StreamStarted StreamStarted_mut: COPYFILE2_MESSAGE_StreamStarted,
- StreamFinished StreamFinished_mut: COPYFILE2_MESSAGE_StreamFinished,
- PollContinue PollContinue_mut: COPYFILE2_MESSAGE_PollContinue,
- Error Error_mut: COPYFILE2_MESSAGE_Error,
-}}
-STRUCT!{struct COPYFILE2_MESSAGE {
- Type: COPYFILE2_MESSAGE_TYPE,
- dwPadding: DWORD,
- Info: COPYFILE2_MESSAGE_Info,
-}}
-FN!{stdcall PCOPYFILE2_PROGRESS_ROUTINE(
- pMessage: *const COPYFILE2_MESSAGE,
- pvCallbackContext: PVOID,
-) -> COPYFILE2_MESSAGE_ACTION}
-STRUCT!{struct COPYFILE2_EXTENDED_PARAMETERS {
- dwSize: DWORD,
- dwCopyFlags: DWORD,
- pfCancel: *mut BOOL,
- pProgressRoutine: PCOPYFILE2_PROGRESS_ROUTINE,
- pvCallbackContext: PVOID,
-}}
-extern "system" {
- pub fn CopyFile2(
- pwszExistingFileName: PCWSTR,
- pwszNewFileName: PCWSTR,
- pExtendedParameters: *mut COPYFILE2_EXTENDED_PARAMETERS,
- ) -> HRESULT;
- pub fn MoveFileA(
- lpExistingFileName: LPCSTR,
- lpNewFileName: LPCSTR,
- ) -> BOOL;
- pub fn MoveFileW(
- lpExistingFileName: LPCWSTR,
- lpNewFileName: LPCWSTR,
- ) -> BOOL;
- pub fn MoveFileExA(
- lpExistingFileName: LPCSTR,
- lpNewFileName: LPCSTR,
- dwFlags: DWORD,
- ) -> BOOL;
- pub fn MoveFileExW(
- lpExistingFileName: LPCWSTR,
- lpNewFileName: LPCWSTR,
- dwFlags: DWORD,
- ) -> BOOL;
- pub fn MoveFileWithProgressA(
- lpExistingFileName: LPCSTR,
- lpNewFileName: LPCSTR,
- lpProgressRoutine: LPPROGRESS_ROUTINE,
- lpData: LPVOID,
- dwFlags: DWORD,
- ) -> BOOL;
- pub fn MoveFileWithProgressW(
- lpExistingFileName: LPCWSTR,
- lpNewFileName: LPCWSTR,
- lpProgressRoutine: LPPROGRESS_ROUTINE,
- lpData: LPVOID,
- dwFlags: DWORD,
- ) -> BOOL;
- pub fn MoveFileTransactedA(
- lpExistingFileName: LPCSTR,
- lpNewFileName: LPCSTR,
- lpProgressRoutine: LPPROGRESS_ROUTINE,
- lpData: LPVOID,
- dwFlags: DWORD,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn MoveFileTransactedW(
- lpExistingFileName: LPCWSTR,
- lpNewFileName: LPCWSTR,
- lpProgressRoutine: LPPROGRESS_ROUTINE,
- lpData: LPVOID,
- dwFlags: DWORD,
- hTransaction: HANDLE,
- ) -> BOOL;
-}
-pub const MOVEFILE_REPLACE_EXISTING: DWORD = 0x00000001;
-pub const MOVEFILE_COPY_ALLOWED: DWORD = 0x00000002;
-pub const MOVEFILE_DELAY_UNTIL_REBOOT: DWORD = 0x00000004;
-pub const MOVEFILE_WRITE_THROUGH: DWORD = 0x00000008;
-pub const MOVEFILE_CREATE_HARDLINK: DWORD = 0x00000010;
-pub const MOVEFILE_FAIL_IF_NOT_TRACKABLE: DWORD = 0x00000020;
-extern "system" {
- pub fn ReplaceFileA(
- lpReplacedFileName: LPCSTR,
- lpReplacementFileName: LPCSTR,
- lpBackupFileName: LPCSTR,
- dwReplaceFlags: DWORD,
- lpExclude: LPVOID,
- lpReserved: LPVOID,
- );
- pub fn ReplaceFileW(
- lpReplacedFileName: LPCWSTR,
- lpReplacementFileName: LPCWSTR,
- lpBackupFileName: LPCWSTR,
- dwReplaceFlags: DWORD,
- lpExclude: LPVOID,
- lpReserved: LPVOID,
- );
- pub fn CreateHardLinkA(
- lpFileName: LPCSTR,
- lpExistingFileName: LPCSTR,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- ) -> BOOL;
- pub fn CreateHardLinkW(
- lpFileName: LPCWSTR,
- lpExistingFileName: LPCWSTR,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- ) -> BOOL;
- pub fn CreateHardLinkTransactedA(
- lpFileName: LPCSTR,
- lpExistingFileName: LPCSTR,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- hTransaction: HANDLE,
- ) -> BOOL;
- pub fn CreateHardLinkTransactedW(
- lpFileName: LPCWSTR,
- lpExistingFileName: LPCWSTR,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- hTransaction: HANDLE,
- );
- pub fn FindFirstStreamTransactedW(
- lpFileName: LPCWSTR,
- InfoLevel: STREAM_INFO_LEVELS,
- lpFindStreamData: LPVOID,
- dwFlags: DWORD,
- hTransaction: HANDLE,
- ) -> HANDLE;
- pub fn FindFirstFileNameTransactedW(
- lpFileName: LPCWSTR,
- dwFlags: DWORD,
- StringLength: LPDWORD,
- LinkName: PWSTR,
- hTransaction: HANDLE,
- ) -> HANDLE;
- pub fn CreateNamedPipeA(
- lpName: LPCSTR,
- dwOpenMode: DWORD,
- dwPipeMode: DWORD,
- nMaxInstances: DWORD,
- nOutBufferSize: DWORD,
- nInBufferSize: DWORD,
- nDefaultTimeOut: DWORD,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- ) -> HANDLE;
- pub fn GetNamedPipeHandleStateA(
- hNamedPipe: HANDLE,
- lpState: LPDWORD,
- lpCurInstances: LPDWORD,
- lpMaxCollectionCount: LPDWORD,
- lpCollectDataTimeout: LPDWORD,
- lpUserName: LPSTR,
- nMaxUserNameSize: DWORD,
- ) -> BOOL;
- pub fn CallNamedPipeA(
- lpNamedPipeName: LPCSTR,
- lpInBuffer: LPVOID,
- nInBufferSize: DWORD,
- lpOutBuffer: LPVOID,
- nOutBufferSize: DWORD,
- lpBytesRead: LPDWORD,
- nTimeOut: DWORD,
- ) -> BOOL;
- pub fn WaitNamedPipeA(
- lpNamedPipeName: LPCSTR,
- nTimeOut: DWORD,
- ) -> BOOL;
- pub fn GetNamedPipeClientComputerNameA(
- Pipe: HANDLE,
- ClientComputerName: LPSTR,
- ClientComputerNameLength: ULONG,
- ) -> BOOL;
- pub fn GetNamedPipeClientProcessId(
- Pipe: HANDLE,
- ClientProcessId: PULONG,
- ) -> BOOL;
- pub fn GetNamedPipeClientSessionId(
- Pipe: HANDLE,
- ClientSessionId: PULONG,
- ) -> BOOL;
- pub fn GetNamedPipeServerProcessId(
- Pipe: HANDLE,
- ServerProcessId: PULONG,
- ) -> BOOL;
- pub fn GetNamedPipeServerSessionId(
- Pipe: HANDLE,
- ServerSessionId: PULONG,
- ) -> BOOL;
- pub fn SetVolumeLabelA(
- lpRootPathName: LPCSTR,
- lpVolumeName: LPCSTR,
- ) -> BOOL;
- pub fn SetVolumeLabelW(
- lpRootPathName: LPCWSTR,
- lpVolumeName: LPCWSTR,
- ) -> BOOL;
- pub fn SetFileBandwidthReservation(
- hFile: HANDLE,
- nPeriodMilliseconds: DWORD,
- nBytesPerPeriod: DWORD,
- bDiscardable: BOOL,
- lpTransferSize: LPDWORD,
- lpNumOutstandingRequests: LPDWORD,
- ) -> BOOL;
- pub fn GetFileBandwidthReservation(
- hFile: HANDLE,
- lpPeriodMilliseconds: LPDWORD,
- lpBytesPerPeriod: LPDWORD,
- pDiscardable: LPBOOL,
- lpTransferSize: LPDWORD,
- lpNumOutstandingRequests: LPDWORD,
- ) -> BOOL;
- // pub fn ClearEventLogA();
- // pub fn ClearEventLogW();
- // pub fn BackupEventLogA();
- // pub fn BackupEventLogW();
- // pub fn CloseEventLog();
- pub fn DeregisterEventSource(
- hEventLog: HANDLE,
- ) -> BOOL;
- // pub fn NotifyChangeEventLog();
- // pub fn GetNumberOfEventLogRecords();
- // pub fn GetOldestEventLogRecord();
- // pub fn OpenEventLogA();
- // pub fn OpenEventLogW();
- pub fn RegisterEventSourceA(
- lpUNCServerName: LPCSTR,
- lpSourceName: LPCSTR,
- ) -> HANDLE;
- pub fn RegisterEventSourceW(
- lpUNCServerName: LPCWSTR,
- lpSourceName: LPCWSTR,
- ) -> HANDLE;
- // pub fn OpenBackupEventLogA();
- // pub fn OpenBackupEventLogW();
- // pub fn ReadEventLogA();
- // pub fn ReadEventLogW();
- pub fn ReportEventA(
- hEventLog: HANDLE,
- wType: WORD,
- wCategory: WORD,
- dwEventID: DWORD,
- lpUserSid: PSID,
- wNumStrings: WORD,
- dwDataSize: DWORD,
- lpStrings: *mut LPCSTR,
- lpRawData: LPVOID,
- ) -> BOOL;
- pub fn ReportEventW(
- hEventLog: HANDLE,
- wType: WORD,
- wCategory: WORD,
- dwEventID: DWORD,
- lpUserSid: PSID,
- wNumStrings: WORD,
- dwDataSize: DWORD,
- lpStrings: *mut LPCWSTR,
- lpRawData: LPVOID,
- ) -> BOOL;
- // pub fn GetEventLogInformation();
- // pub fn OperationStart();
- // pub fn OperationEnd();
- // pub fn AccessCheckAndAuditAlarmA();
- // pub fn AccessCheckByTypeAndAuditAlarmA();
- // pub fn AccessCheckByTypeResultListAndAuditAlarmA();
- // pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleA();
- // pub fn ObjectOpenAuditAlarmA();
- // pub fn ObjectPrivilegeAuditAlarmA();
- // pub fn ObjectCloseAuditAlarmA();
- // pub fn ObjectDeleteAuditAlarmA();
- // pub fn PrivilegedServiceAuditAlarmA();
- // pub fn AddConditionalAce();
- // pub fn SetFileSecurityA();
- // pub fn GetFileSecurityA();
- pub fn ReadDirectoryChangesW(
- hDirectory: HANDLE,
- lpBuffer: LPVOID,
- nBufferLength: DWORD,
- bWatchSubtree: BOOL,
- dwNotifyFilter: DWORD,
- lpBytesReturned: LPDWORD,
- lpOverlapped: LPOVERLAPPED,
- lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE,
- ) -> BOOL;
- pub fn MapViewOfFileExNuma(
- hFileMappingObject: HANDLE,
- dwDesiredAccess: DWORD,
- dwFileOffsetHigh: DWORD,
- dwFileOffsetLow: DWORD,
- dwNumberOfBytesToMap: SIZE_T,
- lpBaseAddress: LPVOID,
- nndPreferred: DWORD,
- ) -> LPVOID;
- pub fn IsBadReadPtr(
- lp: *const VOID,
- ucb: UINT_PTR,
- ) -> BOOL;
- pub fn IsBadWritePtr(
- lp: LPVOID,
- ucb: UINT_PTR,
- ) -> BOOL;
- pub fn IsBadHugeReadPtr(
- lp: *const VOID,
- ucb: UINT_PTR,
- ) -> BOOL;
- pub fn IsBadHugeWritePtr(
- lp: LPVOID,
- ucb: UINT_PTR,
- ) -> BOOL;
- pub fn IsBadCodePtr(
- lpfn: FARPROC,
- ) -> BOOL;
- pub fn IsBadStringPtrA(
- lpsz: LPCSTR,
- ucchMax: UINT_PTR,
- ) -> BOOL;
- pub fn IsBadStringPtrW(
- lpsz: LPCWSTR,
- ucchMax: UINT_PTR,
- ) -> BOOL;
- pub fn LookupAccountSidA(
- lpSystemName: LPCSTR,
- Sid: PSID,
- Name: LPSTR,
- cchName: LPDWORD,
- ReferencedDomainName: LPSTR,
- cchReferencedDomainName: LPDWORD,
- peUse: PSID_NAME_USE,
- ) -> BOOL;
- pub fn LookupAccountSidW(
- lpSystemName: LPCWSTR,
- Sid: PSID,
- Name: LPWSTR,
- cchName: LPDWORD,
- ReferencedDomainName: LPWSTR,
- cchReferencedDomainName: LPDWORD,
- peUse: PSID_NAME_USE,
- ) -> BOOL;
- pub fn LookupAccountNameA(
- lpSystemName: LPCSTR,
- lpAccountName: LPCSTR,
- Sid: PSID,
- cbSid: LPDWORD,
- ReferencedDomainName: LPCSTR,
- cchReferencedDomainName: LPDWORD,
- peUse: PSID_NAME_USE,
- ) -> BOOL;
- pub fn LookupAccountNameW(
- lpSystemName: LPCWSTR,
- lpAccountName: LPCWSTR,
- Sid: PSID,
- cbSid: LPDWORD,
- ReferencedDomainName: LPCWSTR,
- cchReferencedDomainName: LPDWORD,
- peUse: PSID_NAME_USE,
- ) -> BOOL;
- // pub fn LookupAccountNameLocalA();
- // pub fn LookupAccountNameLocalW();
- // pub fn LookupAccountSidLocalA();
- // pub fn LookupAccountSidLocalW();
- pub fn LookupPrivilegeValueA(
- lpSystemName: LPCSTR,
- lpName: LPCSTR,
- lpLuid: PLUID,
- ) -> BOOL;
- pub fn LookupPrivilegeValueW(
- lpSystemName: LPCWSTR,
- lpName: LPCWSTR,
- lpLuid: PLUID,
- ) -> BOOL;
- pub fn LookupPrivilegeNameA(
- lpSystemName: LPCSTR,
- lpLuid: PLUID,
- lpName: LPSTR,
- cchName: LPDWORD,
- ) -> BOOL;
- pub fn LookupPrivilegeNameW(
- lpSystemName: LPCWSTR,
- lpLuid: PLUID,
- lpName: LPWSTR,
- cchName: LPDWORD,
- ) -> BOOL;
- // pub fn LookupPrivilegeDisplayNameA();
- // pub fn LookupPrivilegeDisplayNameW();
- pub fn BuildCommDCBA(
- lpDef: LPCSTR,
- lpDCB: LPDCB,
- ) -> BOOL;
- pub fn BuildCommDCBW(
- lpDef: LPCWSTR,
- lpDCB: LPDCB,
- ) -> BOOL;
- pub fn BuildCommDCBAndTimeoutsA(
- lpDef: LPCSTR,
- lpDCB: LPDCB,
- lpCommTimeouts: LPCOMMTIMEOUTS,
- ) -> BOOL;
- pub fn BuildCommDCBAndTimeoutsW(
- lpDef: LPCWSTR,
- lpDCB: LPDCB,
- lpCommTimeouts: LPCOMMTIMEOUTS,
- ) -> BOOL;
- pub fn CommConfigDialogA(
- lpszName: LPCSTR,
- hWnd: HWND,
- lpCC: LPCOMMCONFIG,
- ) -> BOOL;
- pub fn CommConfigDialogW(
- lpszName: LPCWSTR,
- hWnd: HWND,
- lpCC: LPCOMMCONFIG,
- ) -> BOOL;
- pub fn GetDefaultCommConfigA(
- lpszName: LPCSTR,
- lpCC: LPCOMMCONFIG,
- lpdwSize: LPDWORD,
- ) -> BOOL;
- pub fn GetDefaultCommConfigW(
- lpszName: LPCWSTR,
- lpCC: LPCOMMCONFIG,
- lpdwSize: LPDWORD,
- ) -> BOOL;
- pub fn SetDefaultCommConfigA(
- lpszName: LPCSTR,
- lpCC: LPCOMMCONFIG,
- dwSize: DWORD,
- ) -> BOOL;
- pub fn SetDefaultCommConfigW(
- lpszName: LPCWSTR,
- lpCC: LPCOMMCONFIG,
- dwSize: DWORD,
- ) -> BOOL;
- pub fn GetComputerNameA(
- lpBuffer: LPSTR,
- nSize: LPDWORD,
- ) -> BOOL;
- pub fn GetComputerNameW(
- lpBuffer: LPWSTR,
- nSize: LPDWORD,
- ) -> BOOL;
- pub fn DnsHostnameToComputerNameA(
- Hostname: LPCSTR,
- ComputerName: LPCSTR,
- nSize: LPDWORD,
- ) -> BOOL;
- pub fn DnsHostnameToComputerNameW(
- Hostname: LPCWSTR,
- ComputerName: LPWSTR,
- nSize: LPDWORD,
- ) -> BOOL;
- pub fn GetUserNameA(
- lpBuffer: LPSTR,
- pcbBuffer: LPDWORD,
- ) -> BOOL;
- pub fn GetUserNameW(
- lpBuffer: LPWSTR,
- pcbBuffer: LPDWORD,
- ) -> BOOL;
-}
-pub const LOGON32_LOGON_INTERACTIVE: DWORD = 2;
-pub const LOGON32_LOGON_NETWORK: DWORD = 3;
-pub const LOGON32_LOGON_BATCH: DWORD = 4;
-pub const LOGON32_LOGON_SERVICE: DWORD = 5;
-pub const LOGON32_LOGON_UNLOCK: DWORD = 7;
-pub const LOGON32_LOGON_NETWORK_CLEARTEXT: DWORD = 8;
-pub const LOGON32_LOGON_NEW_CREDENTIALS: DWORD = 9;
-pub const LOGON32_PROVIDER_DEFAULT: DWORD = 0;
-pub const LOGON32_PROVIDER_WINNT35: DWORD = 1;
-pub const LOGON32_PROVIDER_WINNT40: DWORD = 2;
-pub const LOGON32_PROVIDER_WINNT50: DWORD = 3;
-pub const LOGON32_PROVIDER_VIRTUAL: DWORD = 4;
-extern "system" {
- pub fn LogonUserA(
- lpUsername: LPCSTR,
- lpDomain: LPCSTR,
- lpPassword: LPCSTR,
- dwLogonType: DWORD,
- dwLogonProvider: DWORD,
- phToken: PHANDLE,
- ) -> BOOL;
- pub fn LogonUserW(
- lpUsername: LPCWSTR,
- lpDomain: LPCWSTR,
- lpPassword: LPCWSTR,
- dwLogonType: DWORD,
- dwLogonProvider: DWORD,
- phToken: PHANDLE,
- ) -> BOOL;
- pub fn LogonUserExA(
- lpUsername: LPCSTR,
- lpDomain: LPCSTR,
- lpPassword: LPCSTR,
- dwLogonType: DWORD,
- dwLogonProvider: DWORD,
- phToken: PHANDLE,
- ppLogonSid: *mut PSID,
- ppProfileBuffer: *mut PVOID,
- pdwProfileLength: LPDWORD,
- pQuotaLimits: PQUOTA_LIMITS,
- ) -> BOOL;
- pub fn LogonUserExW(
- lpUsername: LPCWSTR,
- lpDomain: LPCWSTR,
- lpPassword: LPCWSTR,
- dwLogonType: DWORD,
- dwLogonProvider: DWORD,
- phToken: PHANDLE,
- ppLogonSid: *mut PSID,
- ppProfileBuffer: *mut PVOID,
- pdwProfileLength: LPDWORD,
- pQuotaLimits: PQUOTA_LIMITS,
- ) -> BOOL;
-}
-pub const LOGON_WITH_PROFILE: DWORD = 0x00000001;
-pub const LOGON_NETCREDENTIALS_ONLY: DWORD = 0x00000002;
-extern "system" {
- pub fn CreateProcessWithLogonW(
- lpUsername: LPCWSTR,
- lpDomain: LPCWSTR,
- lpPassword: LPCWSTR,
- dwLogonFlags: DWORD,
- lpApplicationName: LPCWSTR,
- lpCommandLine: LPWSTR,
- dwCreationFlags: DWORD,
- lpEnvironment: LPVOID,
- lpCurrentDirectory: LPCWSTR,
- lpStartupInfo: LPSTARTUPINFOW,
- lpProcessInformation: LPPROCESS_INFORMATION,
- ) -> BOOL;
- pub fn CreateProcessWithTokenW(
- hToken: HANDLE,
- dwLogonFlags: DWORD,
- lpApplicationName: LPCWSTR,
- lpCommandLine: LPWSTR,
- dwCreationFlags: DWORD,
- lpEnvironment: LPVOID,
- lpCurrentDirectory: LPCWSTR,
- lpStartupInfo: LPSTARTUPINFOW,
- lpProcessInformation: LPPROCESS_INFORMATION,
- ) -> BOOL;
- pub fn IsTokenUntrusted(
- TokenHandle: HANDLE,
- ) -> BOOL;
- pub fn RegisterWaitForSingleObject(
- phNewWaitObject: PHANDLE,
- hObject: HANDLE,
- Callback: WAITORTIMERCALLBACK,
- Context: PVOID,
- dwMilliseconds: ULONG,
- dwFlags: ULONG,
- ) -> BOOL;
- pub fn UnregisterWait(
- WaitHandle: HANDLE,
- ) -> BOOL;
- pub fn BindIoCompletionCallback(
- FileHandle: HANDLE,
- Function: LPOVERLAPPED_COMPLETION_ROUTINE,
- Flags: ULONG,
- ) -> BOOL;
- pub fn SetTimerQueueTimer(
- TimerQueue: HANDLE,
- Callback: WAITORTIMERCALLBACK,
- Parameter: PVOID,
- DueTime: DWORD,
- Period: DWORD,
- PreferIo: BOOL,
- ) -> HANDLE;
- pub fn CancelTimerQueueTimer(
- TimerQueue: HANDLE,
- Timer: HANDLE,
- ) -> BOOL;
- pub fn DeleteTimerQueue(
- TimerQueue: HANDLE,
- ) -> BOOL;
- // pub fn InitializeThreadpoolEnvironment();
- // pub fn SetThreadpoolCallbackPool();
- // pub fn SetThreadpoolCallbackCleanupGroup();
- // pub fn SetThreadpoolCallbackRunsLong();
- // pub fn SetThreadpoolCallbackLibrary();
- // pub fn SetThreadpoolCallbackPriority();
- // pub fn DestroyThreadpoolEnvironment();
- // pub fn SetThreadpoolCallbackPersistent();
- pub fn CreatePrivateNamespaceA(
- lpPrivateNamespaceAttributes: LPSECURITY_ATTRIBUTES,
- lpBoundaryDescriptor: LPVOID,
- lpAliasPrefix: LPCSTR,
- ) -> HANDLE;
- pub fn OpenPrivateNamespaceA(
- lpBoundaryDescriptor: LPVOID,
- lpAliasPrefix: LPCSTR,
- ) -> HANDLE;
- pub fn CreateBoundaryDescriptorA(
- Name: LPCSTR,
- Flags: ULONG,
- ) -> HANDLE;
- pub fn AddIntegrityLabelToBoundaryDescriptor(
- BoundaryDescriptor: *mut HANDLE,
- IntegrityLabel: PSID,
- ) -> BOOL;
-}
-pub const HW_PROFILE_GUIDLEN: usize = 39;
-// MAX_PROFILE_LEN
-pub const DOCKINFO_UNDOCKED: DWORD = 0x1;
-pub const DOCKINFO_DOCKED: DWORD = 0x2;
-pub const DOCKINFO_USER_SUPPLIED: DWORD = 0x4;
-pub const DOCKINFO_USER_UNDOCKED: DWORD = DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED;
-pub const DOCKINFO_USER_DOCKED: DWORD = DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED;
-STRUCT!{struct HW_PROFILE_INFOA {
- dwDockInfo: DWORD,
- szHwProfileGuid: [CHAR; HW_PROFILE_GUIDLEN],
- szHwProfileName: [CHAR; MAX_PROFILE_LEN],
-}}
-pub type LPHW_PROFILE_INFOA = *mut HW_PROFILE_INFOA;
-STRUCT!{struct HW_PROFILE_INFOW {
- dwDockInfo: DWORD,
- szHwProfileGuid: [WCHAR; HW_PROFILE_GUIDLEN],
- szHwProfileName: [WCHAR; MAX_PROFILE_LEN],
-}}
-pub type LPHW_PROFILE_INFOW = *mut HW_PROFILE_INFOW;
-extern "system" {
- pub fn GetCurrentHwProfileA(
- lpHwProfileInfo: LPHW_PROFILE_INFOA,
- ) -> BOOL;
- pub fn GetCurrentHwProfileW(
- lpHwProfileInfo: LPHW_PROFILE_INFOW,
- ) -> BOOL;
- pub fn VerifyVersionInfoA(
- lpVersionInformation: LPOSVERSIONINFOEXA,
- dwTypeMask: DWORD,
- dwlConditionMask: DWORDLONG,
- ) -> BOOL;
- pub fn VerifyVersionInfoW(
- lpVersionInformation: LPOSVERSIONINFOEXW,
- dwTypeMask: DWORD,
- dwlConditionMask: DWORDLONG,
- ) -> BOOL;
-}
-STRUCT!{struct SYSTEM_POWER_STATUS {
- ACLineStatus: BYTE,
- BatteryFlag: BYTE,
- BatteryLifePercent: BYTE,
- Reserved1: BYTE,
- BatteryLifeTime: DWORD,
- BatteryFullLifeTime: DWORD,
-}}
-pub type LPSYSTEM_POWER_STATUS = *mut SYSTEM_POWER_STATUS;
-extern "system" {
- pub fn GetSystemPowerStatus(
- lpSystemPowerStatus: LPSYSTEM_POWER_STATUS,
- ) -> BOOL;
- pub fn SetSystemPowerState(
- fSuspend: BOOL,
- fForce: BOOL,
- ) -> BOOL;
- pub fn MapUserPhysicalPagesScatter(
- VirtualAddresses: *mut PVOID,
- NumberOfPages: ULONG_PTR,
- PageArray: PULONG_PTR,
- ) -> BOOL;
- pub fn CreateJobObjectA(
- lpJobAttributes: LPSECURITY_ATTRIBUTES,
- lpName: LPCSTR,
- ) -> HANDLE;
- pub fn OpenJobObjectA(
- dwDesiredAccess: DWORD,
- bInheritHandle: BOOL,
- lpName: LPCSTR,
- ) -> HANDLE;
- pub fn CreateJobSet(
- NumJob: ULONG,
- UserJobSet: PJOB_SET_ARRAY,
- Flags: ULONG,
- ) -> BOOL;
- pub fn FindFirstVolumeA(
- lpszVolumeName: LPSTR,
- cchBufferLength: DWORD,
- ) -> HANDLE;
- pub fn FindNextVolumeA(
- hFindVolume: HANDLE,
- lpszVolumeName: LPSTR,
- cchBufferLength: DWORD,
- ) -> BOOL;
- pub fn FindFirstVolumeMountPointA(
- lpszRootPathName: LPCSTR,
- lpszVolumeMountPoint: LPSTR,
- cchBufferLength: DWORD,
- ) -> HANDLE;
- pub fn FindFirstVolumeMountPointW(
- lpszRootPathName: LPCWSTR,
- lpszVolumeMountPoint: LPWSTR,
- cchBufferLength: DWORD,
- ) -> HANDLE;
- pub fn FindNextVolumeMountPointA(
- hFindVolumeMountPoint: HANDLE,
- lpszVolumeMountPoint: LPSTR,
- cchBufferLength: DWORD,
- ) -> BOOL;
- pub fn FindNextVolumeMountPointW(
- hFindVolumeMountPoint: HANDLE,
- lpszVolumeMountPoint: LPWSTR,
- cchBufferLength: DWORD,
- ) -> BOOL;
- pub fn FindVolumeMountPointClose(
- hFindVolumeMountPoint: HANDLE,
- ) -> BOOL;
- pub fn SetVolumeMountPointA(
- lpszVolumeMountPoint: LPCSTR,
- lpszVolumeName: LPCSTR,
- ) -> BOOL;
- pub fn SetVolumeMountPointW(
- lpszVolumeMountPoint: LPCWSTR,
- lpszVolumeName: LPCWSTR,
- ) -> BOOL;
- pub fn DeleteVolumeMountPointA(
- lpszVolumeMountPoint: LPCSTR,
- ) -> BOOL;
- pub fn GetVolumeNameForVolumeMountPointA(
- lpszVolumeMountPoint: LPCSTR,
- lpszVolumeName: LPSTR,
- cchBufferLength: DWORD,
- ) -> BOOL;
- pub fn GetVolumePathNameA(
- lpszFileName: LPCSTR,
- lpszVolumePathName: LPSTR,
- cchBufferLength: DWORD,
- ) -> BOOL;
- pub fn GetVolumePathNamesForVolumeNameA(
- lpszVolumeName: LPCSTR,
- lpszVolumePathNames: LPCH,
- cchBufferLength: DWORD,
- lpcchReturnLength: PDWORD,
- ) -> BOOL;
-}
-// ACTCTX_FLAG_*
-STRUCT!{struct ACTCTXA {
- cbSize: ULONG,
- dwFlags: DWORD,
- lpSource: LPCSTR,
- wProcessorArchitecture: USHORT,
- wLangId: LANGID,
- lpAssemblyDirectory: LPCSTR,
- lpResourceName: LPCSTR,
- lpApplicationName: LPCSTR,
- hModule: HMODULE,
-}}
-pub type PACTCTXA = *mut ACTCTXA;
-STRUCT!{struct ACTCTXW {
- cbSize: ULONG,
- dwFlags: DWORD,
- lpSource: LPCWSTR,
- wProcessorArchitecture: USHORT,
- wLangId: LANGID,
- lpAssemblyDirectory: LPCWSTR,
- lpResourceName: LPCWSTR,
- lpApplicationName: LPCWSTR,
- hModule: HMODULE,
-}}
-pub type PACTCTXW = *mut ACTCTXW;
-pub type PCACTCTXA = *const ACTCTXA;
-pub type PCACTCTXW = *const ACTCTXW;
-extern "system" {
- pub fn CreateActCtxA(
- pActCtx: PCACTCTXA,
- ) -> HANDLE;
- pub fn CreateActCtxW(
- pActCtx: PCACTCTXW,
- ) -> HANDLE;
- pub fn AddRefActCtx(
- hActCtx: HANDLE,
- );
- pub fn ReleaseActCtx(
- hActCtx: HANDLE,
- );
- pub fn ZombifyActCtx(
- hActCtx: HANDLE,
- ) -> BOOL;
- pub fn ActivateActCtx(
- hActCtx: HANDLE,
- lpCookie: *mut ULONG_PTR,
- ) -> BOOL;
- pub fn DeactivateActCtx(
- dwFlags: DWORD,
- ulCookie: ULONG_PTR,
- ) -> BOOL;
- pub fn GetCurrentActCtx(
- lphActCtx: *mut HANDLE,
- ) -> BOOL;
-}
-STRUCT!{struct ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
- lpInformation: PVOID,
- lpSectionBase: PVOID,
- ulSectionLength: ULONG,
- lpSectionGlobalDataBase: PVOID,
- ulSectionGlobalDataLength: ULONG,
-}}
-pub type PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA =
- *mut ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
-pub type PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA =
- *const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
-STRUCT!{struct ACTCTX_SECTION_KEYED_DATA {
- cbSize: ULONG,
- ulDataFormatVersion: ULONG,
- lpData: PVOID,
- ulLength: ULONG,
- lpSectionGlobalData: PVOID,
- ulSectionGlobalDataLength: ULONG,
- lpSectionBase: PVOID,
- ulSectionTotalLength: ULONG,
- hActCtx: HANDLE,
- ulAssemblyRosterIndex: ULONG,
- ulFlags: ULONG,
- AssemblyMetadata: ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA,
-}}
-pub type PACTCTX_SECTION_KEYED_DATA = *mut ACTCTX_SECTION_KEYED_DATA;
-pub type PCACTCTX_SECTION_KEYED_DATA = *const ACTCTX_SECTION_KEYED_DATA;
-extern "system" {
- pub fn FindActCtxSectionStringA(
- dwFlags: DWORD,
- lpExtensionGuid: *const GUID,
- ulSectionId: ULONG,
- lpStringToFind: LPCSTR,
- ReturnedData: PACTCTX_SECTION_KEYED_DATA,
- ) -> BOOL;
- pub fn FindActCtxSectionStringW(
- dwFlags: DWORD,
- lpExtensionGuid: *const GUID,
- ulSectionId: ULONG,
- lpStringToFind: LPCWSTR,
- ReturnedData: PACTCTX_SECTION_KEYED_DATA,
- ) -> BOOL;
- pub fn FindActCtxSectionGuid(
- dwFlags: DWORD,
- lpExtensionGuid: *const GUID,
- ulSectionId: ULONG,
- lpGuidToFind: *const GUID,
- ReturnedData: PACTCTX_SECTION_KEYED_DATA,
- ) -> BOOL;
- pub fn QueryActCtxW(
- dwFlags: DWORD,
- hActCtx: HANDLE,
- pvSubInstance: PVOID,
- ulInfoClass: ULONG,
- pvBuffer: PVOID,
- cbBuffer: SIZE_T,
- pcbWrittenOrRequired: *mut SIZE_T,
- ) -> BOOL;
- pub fn WTSGetActiveConsoleSessionId() -> DWORD;
- // pub fn WTSGetServiceSessionId();
- // pub fn WTSIsServerContainer();
- pub fn GetActiveProcessorGroupCount() -> WORD;
- pub fn GetMaximumProcessorGroupCount() -> WORD;
- pub fn GetActiveProcessorCount(
- GroupNumber: WORD,
- ) -> DWORD;
- pub fn GetMaximumProcessorCount(
- GroupNumber: WORD,
- ) -> DWORD;
- pub fn GetNumaProcessorNode(
- Processor: UCHAR,
- NodeNumber: PUCHAR,
- ) -> BOOL;
- pub fn GetNumaNodeNumberFromHandle(
- hFile: HANDLE,
- NodeNumber: PUSHORT,
- ) -> BOOL;
- pub fn GetNumaProcessorNodeEx(
- Processor: PPROCESSOR_NUMBER,
- NodeNumber: PUSHORT,
- ) -> BOOL;
- pub fn GetNumaNodeProcessorMask(
- Node: UCHAR,
- ProcessorMask: PULONGLONG,
- ) -> BOOL;
- pub fn GetNumaAvailableMemoryNode(
- Node: UCHAR,
- AvailableBytes: PULONGLONG,
- ) -> BOOL;
- pub fn GetNumaAvailableMemoryNodeEx(
- Node: USHORT,
- AvailableBytes: PULONGLONG,
- ) -> BOOL;
- pub fn GetNumaProximityNode(
- ProximityId: ULONG,
- NodeNumber: PUCHAR,
- ) -> BOOL;
-}
-FN!{stdcall APPLICATION_RECOVERY_CALLBACK(
- pvParameter: PVOID,
-) -> DWORD}
-// RESTART_*
-// RECOVERY_*
-extern "system" {
- pub fn RegisterApplicationRecoveryCallback(
- pRecoveyCallback: APPLICATION_RECOVERY_CALLBACK,
- pvParameter: PVOID,
- dwPingInterval: DWORD,
- dwFlags: DWORD,
- ) -> HRESULT;
- pub fn UnregisterApplicationRecoveryCallback() -> HRESULT;
- pub fn RegisterApplicationRestart(
- pwzCommandline: PCWSTR,
- dwFlags: DWORD,
- ) -> HRESULT;
- pub fn UnregisterApplicationRestart() -> HRESULT;
- pub fn GetApplicationRecoveryCallback(
- hProcess: HANDLE,
- pRecoveryCallback: *mut APPLICATION_RECOVERY_CALLBACK,
- ppvParameter: *mut PVOID,
- pdwPingInterval: PDWORD,
- pdwFlags: PDWORD,
- ) -> HRESULT;
- pub fn GetApplicationRestartSettings(
- hProcess: HANDLE,
- pwzCommandline: PWSTR,
- pcchSize: PDWORD,
- pdwFlags: PDWORD,
- ) -> HRESULT;
- pub fn ApplicationRecoveryInProgress(
- pbCancelled: PBOOL,
- ) -> HRESULT;
- pub fn ApplicationRecoveryFinished(
- bSuccess: BOOL,
- );
-}
-// FILE_BASIC_INFO, etc.
-extern "system" {
- pub fn GetFileInformationByHandleEx(
- hFile: HANDLE,
- FileInformationClass: FILE_INFO_BY_HANDLE_CLASS,
- lpFileInformation: LPVOID,
- dwBufferSize: DWORD,
- ) -> BOOL;
-}
-ENUM!{enum FILE_ID_TYPE {
- FileIdType,
- ObjectIdType,
- ExtendedFileIdType,
- MaximumFileIdType,
-}}
-UNION!{union FILE_ID_DESCRIPTOR_u {
- [u64; 2],
- FileId FileId_mut: LARGE_INTEGER,
- ObjectId ObjectId_mut: GUID,
- ExtendedFileId ExtendedFileId_mut: FILE_ID_128,
-}}
-STRUCT!{struct FILE_ID_DESCRIPTOR {
- dwSize: DWORD,
- Type: FILE_ID_TYPE,
- u: FILE_ID_DESCRIPTOR_u,
-}}
-pub type LPFILE_ID_DESCRIPTOR = *mut FILE_ID_DESCRIPTOR;
-extern "system" {
- pub fn OpenFileById(
- hVolumeHint: HANDLE,
- lpFileId: LPFILE_ID_DESCRIPTOR,
- dwDesiredAccess: DWORD,
- dwShareMode: DWORD,
- lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
- dwFlagsAndAttributes: DWORD,
- ) -> HANDLE;
- pub fn CreateSymbolicLinkA(
- lpSymlinkFileName: LPCSTR,
- lpTargetFileName: LPCSTR,
- dwFlags: DWORD,
- ) -> BOOLEAN;
- pub fn CreateSymbolicLinkW(
- lpSymlinkFileName: LPCWSTR,
- lpTargetFileName: LPCWSTR,
- dwFlags: DWORD,
- ) -> BOOLEAN;
- pub fn QueryActCtxSettingsW(
- dwFlags: DWORD,
- hActCtx: HANDLE,
- settingsNameSpace: PCWSTR,
- settingName: PCWSTR,
- pvBuffer: PWSTR,
- dwBuffer: SIZE_T,
- pdwWrittenOrRequired: *mut SIZE_T,
- ) -> BOOL;
- pub fn CreateSymbolicLinkTransactedA(
- lpSymlinkFileName: LPCSTR,
- lpTargetFileName: LPCSTR,
- dwFlags: DWORD,
- hTransaction: HANDLE,
- ) -> BOOLEAN;
- pub fn CreateSymbolicLinkTransactedW(
- lpSymlinkFileName: LPCWSTR,
- lpTargetFileName: LPCWSTR,
- dwFlags: DWORD,
- hTransaction: HANDLE,
- ) -> BOOLEAN;
- pub fn ReplacePartitionUnit(
- TargetPartition: PWSTR,
- SparePartition: PWSTR,
- Flags: ULONG,
- ) -> BOOL;
- pub fn AddSecureMemoryCacheCallback(
- pfnCallBack: PSECURE_MEMORY_CACHE_CALLBACK,
- ) -> BOOL;
- pub fn RemoveSecureMemoryCacheCallback(
- pfnCallBack: PSECURE_MEMORY_CACHE_CALLBACK,
- ) -> BOOL;
- pub fn CopyContext(
- Destination: PCONTEXT,
- ContextFlags: DWORD,
- Source: PCONTEXT,
- ) -> BOOL;
- pub fn InitializeContext(
- Buffer: PVOID,
- ContextFlags: DWORD,
- Context: *mut PCONTEXT,
- ContextLength: PDWORD,
- ) -> BOOL;
- pub fn GetEnabledXStateFeatures() -> DWORD64;
- pub fn GetXStateFeaturesMask(
- Context: PCONTEXT,
- FeatureMask: PDWORD64,
- ) -> BOOL;
- #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
- pub fn LocateXStateFeature(
- Context: PCONTEXT,
- FeatureId: DWORD,
- Length: PDWORD,
- ) -> PVOID;
- #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
- pub fn SetXStateFeaturesMask(
- Context: PCONTEXT,
- FeatureMask: DWORD64,
- ) -> BOOL;
- pub fn EnableThreadProfiling(
- ThreadHandle: HANDLE,
- Flags: DWORD,
- HardwareCounters: DWORD64,
- PerformanceDataHandle: *mut HANDLE,
- ) -> BOOL;
- pub fn DisableThreadProfiling(
- PerformanceDataHandle: HANDLE,
- ) -> DWORD;
- pub fn QueryThreadProfiling(
- ThreadHandle: HANDLE,
- Enabled: PBOOLEAN,
- ) -> DWORD;
- pub fn ReadThreadProfilingData(
- PerformanceDataHandle: HANDLE,
- Flags: DWORD,
- PerformanceData: PPERFORMANCE_DATA,
- ) -> DWORD;
- // intrinsic InterlockedIncrement
- // intrinsic InterlockedDecrement
- // intrinsic InterlockedExchange
- // intrinsic InterlockedExchangeAdd
- // intrinsic InterlockedExchangeSubtract
- // intrinsic InterlockedCompareExchange
- // intrinsic InterlockedAnd
- // intrinsic InterlockedOr
- // intrinsic InterlockedXor
-}