#![allow(unused_doc_comments)]
#[cfg(feature = "system-services-comm")]
use windows_sys::Win32::Devices::Communication as comm;
#[cfg(all(
feature = "system-services-modules-and-symbols",
feature = "system-services-defaultheapmemobjs-global",
feature = "system-services-defaultheapmemobjs-local",
feature = "system-services-winmain",
))]
use windows_sys::Win32::Foundation as winsys_foundation;
#[cfg(feature = "system-services-resource")]
use windows_sys::Win32::Graphics::Gdi as gdi;
#[cfg(any(
feature = "system-services-syspathname",
feature = "system-services-drivetype",
feature = "system-services-fileop-deprecated",
))]
use windows_sys::Win32::Storage::FileSystem as storefs;
#[cfg(all(
feature = "system-services-modules-and-symbols",
feature = "system-services-resource",
))]
use windows_sys::Win32::System::LibraryLoader as libloader;
#[cfg(all(
feature = "system-services-defaultheapmemobjs-global",
feature = "system-services-defaultheapmemobjs-local",
feature = "system-services-ptrvalidate",
))]
use windows_sys::Win32::System::Memory as sysmem;
#[cfg(feature = "system-services-regop")]
use windows_sys::Win32::System::Registry as sysreg;
#[cfg(feature = "system-services-shutdown")]
use windows_sys::Win32::System::Shutdown as sysshutdown;
#[cfg(all(
feature = "system-services-version",
feature = "system-services-clock",
feature = "system-services-syspathname",
))]
use windows_sys::Win32::System::SystemInformation as sysinfo;
#[cfg(feature = "system-services-winexec")]
use windows_sys::Win32::System::Threading as systhread;
#[cfg(any(
feature = "system-services-defaultheapmemobjs-global",
feature = "system-services-defaultheapmemobjs-local",
feature = "system-services-fileop-deprecated",
))]
use windows_sys::Win32::System::WindowsProgramming as winprg;
#[cfg(any(
feature = "system-services-params-and-metrics",
feature = "system-services-inputstate"
))]
use windows_sys::Win32::UI::Input::KeyboardAndMouse as kbdmse;
#[cfg(feature = "system-services-winhelp")]
use windows_sys::Win32::UI::Shell as shell;
#[cfg(any(
feature = "system-services-params-and-metrics",
feature = "system-services-timer",
feature = "system-services-inputstate",
feature = "system-services-resource",
))]
use windows_sys::Win32::UI::WindowsAndMessaging as winmsg;
#[cfg(any(
feature = "system-services-winmain",
feature = "system-services-shutdown"
))]
use windows_sys::core as wincore;
removed_item!(
pub use winmsg::GetFreeSystemResources;
);
#[cfg(feature = "system-services-params-and-metrics")]
pub use winmsg::SystemParametersInfoW as SystemParametersInfo;
removed_item!(
pub use winmsg::GetWinFlags;
);
#[cfg(feature = "system-services-params-and-metrics")]
pub use winmsg::GetSystemMetrics;
#[cfg(feature = "system-services-version")]
pub use sysinfo::GetVersion;
#[cfg(feature = "system-services-timer")]
pub use winmsg::SetTimer;
#[cfg(feature = "system-services-timer")]
pub type TimerProc = opt_inner_type!(winmsg::TIMERPROC);
#[cfg(feature = "system-services-timer")]
pub use winmsg::KillTimer;
#[cfg(feature = "system-services-params-and-metrics")]
pub use kbdmse::SetDoubleClickTime;
#[cfg(feature = "system-services-params-and-metrics")]
pub use kbdmse::GetDoubleClickTime;
#[cfg(feature = "system-services-clock")]
pub use sysinfo::GetTickCount;
removed_item!(
pub use sysinfo::GetCurrentTime;
);
removed_item!(
pub use sysinfo::GetTimerResolution;
);
#[cfg(feature = "system-services-modules-and-symbols")]
pub use libloader::LoadLibraryW as LoadLibrary;
#[cfg(feature = "system-services-modules-and-symbols")]
pub use winsys_foundation::FreeLibrary;
#[cfg(feature = "system-services-modules-and-symbols")]
pub use libloader::LoadModule;
removed_item!(
pub use winsys_foundation::FreeModule;
);
#[cfg(feature = "system-services-modules-and-symbols")]
pub use libloader::GetModuleFileNameW as GetModuleFileName;
#[cfg(feature = "system-services-modules-and-symbols")]
pub use libloader::GetModuleHandleW as GetModuleHandle;
removed_item!(
pub use libloader::GetModuleUsage;
);
#[cfg(feature = "system-services-modules-and-symbols")]
pub use libloader::GetProcAddress;
removed_item!(
pub use libloader::MakeProcInstance;
);
removed_item!(
pub use libloader::FreeProcInstance;
);
removed_item!(
type WORD = u16;
pub type LibMain = extern "system" fn(
winsys_foundation::HINSTANCE,
WORD,
WORD,
wincore::LPSTR,
) -> wincore::BOOL;
);
removed_item!(
pub type WEP = extern "system" fn(i32) -> wincore::BOOL;
);
removed_item!(
pub use libloader::GetInstanceData;
);
removed_item!(
pub use sysmem::GetFreeSpace;
);
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use sysmem::GlobalAlloc;
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use winsys_foundation::GlobalFree;
#[cfg(feature = "system-services-defaultheapmemobjs-local")]
pub use sysmem::LocalAlloc;
#[cfg(feature = "system-services-defaultheapmemobjs-local")]
pub use winsys_foundation::LocalFree;
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use winprg::GlobalCompact;
#[cfg(feature = "system-services-defaultheapmemobjs-local")]
pub use winprg::LocalCompact;
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use winprg::GlobalFix;
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use winprg::GlobalUnfix;
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use sysmem::GlobalFlags;
#[cfg(feature = "system-services-defaultheapmemobjs-local")]
pub use sysmem::LocalFlags;
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use sysmem::GlobalHandle;
#[cfg(feature = "system-services-defaultheapmemobjs-local")]
pub use sysmem::LocalHandle;
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use sysmem::GlobalLock;
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use sysmem::GlobalUnlock;
#[cfg(feature = "system-services-defaultheapmemobjs-local")]
pub use sysmem::LocalLock;
#[cfg(feature = "system-services-defaultheapmemobjs-local")]
pub use sysmem::LocalUnlock;
removed_item!(
pub use sysmem::GlobalLRUNewest;
);
removed_item!(
pub use sysmem::GlobalLRUOldest;
);
removed_item!(
pub use sysmem::GlobalNotify;
);
removed_item!(
pub type NotifyProc = extern "system" fn(winsys_foundation::HGLOBAL) -> wincore::BOOL;
);
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use sysmem::GlobalReAlloc;
#[cfg(feature = "system-services-defaultheapmemobjs-global")]
pub use sysmem::GlobalSize;
#[cfg(feature = "system-services-defaultheapmemobjs-local")]
pub use sysmem::LocalSize;
removed_item!(
pub use sysmem::LocalInit;
);
removed_item!(
pub use sysmem::LocalShrink;
);
removed_item!(
pub use diagdbg::Catch;
);
removed_item!(
pub use diagdbg::Throw;
);
removed_item!(
pub use winmsg::Yield;
);
removed_item!(
pub use winmsg::DirectedYield;
);
removed_item!(
pub use winmsg::GetCurrentTask;
);
removed_item!(
pub use winmsg::GetNumTasks;
);
removed_item!(
pub use winmsg::GetWindowTask;
);
removed_item!(
pub use winmsg::IsTask;
);
#[cfg(feature = "system-services-winhelp")]
pub use shell::WinHelpW as WinHelp;
#[cfg(feature = "system-services-winhelp")]
pub use shell::HELPWININFOW as HELPWININFO;
removed_item!(
pub use winmsg::EnumTaskWindows;
);
removed_item!(
pub type EnumTaskWndProc =
extern "system" fn(winsys_foundation::HWND, winsys_foundation::LPARAM) -> wincore::BOOL;
);
#[cfg(feature = "system-services-winexec")]
pub use systhread::WinExec;
#[cfg(feature = "system-services-winmain")]
pub type WinMain = extern "system" fn(
winsys_foundation::HINSTANCE,
winsys_foundation::HINSTANCE,
wincore::PSTR,
i32,
) -> i32;
#[cfg(feature = "system-services-shutdown")]
pub use sysshutdown_polyfill::ExitWindows;
#[cfg(feature = "system-services-shutdown")]
pub use sysshutdown::ExitWindowsEx;
#[cfg(feature = "system-services-inputstate")]
pub use kbdmse::GetAsyncKeyState;
#[cfg(feature = "system-services-inputstate")]
pub use winmsg::GetInputState;
#[cfg(feature = "system-services-inputstate")]
pub use kbdmse::GetKeyboardState;
#[cfg(feature = "system-services-inputstate")]
pub use kbdmse::SetKeyboardState;
#[cfg(feature = "system-services-params-and-metrics")]
pub use kbdmse::GetKeyNameTextW as GetKeyNameText;
#[cfg(feature = "system-services-inputstate")]
pub use kbdmse::GetKeyState;
#[cfg(feature = "system-services-params-and-metrics")]
pub use kbdmse::GetKBCodePage;
#[cfg(feature = "system-services-inputstate")]
pub use kbdmse::OemKeyScan;
#[cfg(feature = "system-services-inputstate")]
pub use kbdmse::MapVirtualKeyW as MapVirtualKey;
#[cfg(feature = "system-services-inputstate")]
pub use kbdmse::VkKeyScanW as VkKeyScan;
#[cfg(feature = "system-services-params-and-metrics")]
pub use kbdmse::SwapMouseButton;
#[cfg(feature = "system-services-params-and-metrics")]
pub use kbdmse::GetKeyboardType;
#[cfg(feature = "system-services-resource")]
pub use libloader::FindResourceW as FindResource;
#[cfg(feature = "system-services-resource")]
pub use libloader::LoadResource;
#[cfg(feature = "system-services-resource")]
pub use libloader::FreeResource;
#[cfg(feature = "system-services-resource")]
pub use libloader::LockResource;
#[cfg(feature = "system-services-resource")]
pub use winmsg::LoadStringW;
#[cfg(feature = "system-services-resource")]
pub use winmsg::LoadIconW as LoadIcon;
#[cfg(feature = "system-services-resource")]
pub use gdi::LoadBitmapW as LoadBitmap;
removed_item!(
pub use winmsg::SetResourceHandler;
);
removed_item!(
pub type LoadProc = extern "system" fn(
winsys_foundation::HGLOBAL,
winsys_foundation::HINSTANCE,
winsys_foundation::HRSRC,
) -> winsys_foundation::HGLOBAL;
);
#[cfg(feature = "system-services-resource")]
pub use libloader::SizeofResource;
#[cfg(feature = "system-services-resource")]
pub use winmsg::LoadMenuW as LoadMenu;
#[cfg(feature = "system-services-resource")]
pub use winmsg::LoadMenuIndirectW as LoadMenuIndirect;
#[cfg(feature = "system-services-resource")]
pub use winmsg::MENUITEMTEMPLATE;
#[cfg(feature = "system-services-resource")]
pub use winmsg::MENUITEMTEMPLATEHEADER;
#[cfg(feature = "system-services-resource")]
pub use winmsg::LoadAcceleratorsW as LoadAccelerators;
removed_item!(
pub use winmsg::AllocResource;
);
#[cfg(feature = "system-services-comm")]
pub use comm::BuildCommDCBW as BuildCommDCB;
#[cfg(feature = "system-services-comm")]
pub use comm::ClearCommBreak;
#[cfg(feature = "system-services-comm")]
pub use comm::SetCommBreak;
removed_item!(
pub use comm::CloseComm;
);
removed_item!(
pub use comm::OpenComm;
);
removed_item!(
pub use comm::EnableCommNotification;
);
#[cfg(feature = "system-services-comm")]
pub use comm::EscapeCommFunction;
removed_item!(
pub use comm::FlushComm;
);
removed_item!(
pub use comm::GetCommError;
);
removed_item!(
pub use comm::GetCommEventMask;
);
removed_item!(
pub use comm::SetCommEventMask;
);
#[cfg(feature = "system-services-comm")]
pub use comm::GetCommState;
#[cfg(feature = "system-services-comm")]
pub use comm::SetCommState;
removed_item!(
pub use comm::ReadComm;
);
removed_item!(
pub use comm::WriteComm;
);
#[cfg(feature = "system-services-comm")]
pub use comm::TransmitCommChar;
removed_item!(
pub use comm::UngetCommChar;
);
#[cfg(feature = "system-services-drivetype")]
pub use storefs::GetDriveTypeW as GetDriveType;
#[cfg(feature = "system-services-syspathname")]
pub use sysinfo::GetSystemDirectoryW as GetSystemDirectory;
removed_item!(
pub use storefs::GetTempDrive;
);
#[cfg(feature = "system-services-syspathname")]
pub use storefs::GetTempFileNameW as GetTempFileName;
#[cfg(feature = "system-services-syspathname")]
pub use sysinfo::GetWindowsDirectoryW as GetWindowsDirectory;
#[cfg(feature = "system-services-fileop-deprecated")]
#[deprecated]
pub use storefs::OpenFile;
#[cfg(feature = "system-services-fileop-deprecated")]
#[deprecated]
pub use storefs::OFSTRUCT;
#[cfg(feature = "system-services-fileop-deprecated")]
#[deprecated]
pub use winprg::SetHandleCount;
#[cfg(feature = "system-services-fileop-deprecated")]
#[deprecated]
pub use winprg::_lclose;
#[cfg(feature = "system-services-fileop-deprecated")]
#[deprecated]
pub use winprg::_lread;
#[cfg(feature = "system-services-fileop-deprecated")]
#[deprecated]
pub use winprg::_lcreat;
#[cfg(feature = "system-services-fileop-deprecated")]
#[deprecated]
pub use winprg::_llseek;
#[cfg(feature = "system-services-fileop-deprecated")]
#[deprecated]
pub use winprg::_lopen;
#[cfg(feature = "system-services-fileop-deprecated")]
#[deprecated]
pub use winprg::_lwrite;
#[cfg(feature = "system-services-regop")]
pub use sysreg::RegCloseKey;
#[cfg(feature = "system-services-regop")]
pub use sysreg::RegCreateKeyW as RegCreateKey;
#[cfg(feature = "system-services-regop")]
pub use sysreg::RegOpenKeyW as RegOpenKey;
#[cfg(feature = "system-services-regop")]
pub use sysreg::RegDeleteKeyW as RegDeleteKey;
#[cfg(feature = "system-services-regop")]
pub use sysreg::RegEnumKeyW as RegEnumKey;
#[cfg(feature = "system-services-regop")]
pub use sysreg::RegQueryValueW as RegQueryValue;
#[cfg(feature = "system-services-regop")]
pub use sysreg::RegSetValueW as RegSetValue;
#[cfg(feature = "system-services-ptrvalidate")]
pub use sysmem::IsBadCodePtr;
removed_item!(
pub use sysmem::IsBadHugeReadPtr;
);
removed_item!(
pub use sysmem::IsBadHugeWritePtr;
);
#[cfg(feature = "system-services-ptrvalidate")]
pub use sysmem::IsBadReadPtr;
#[cfg(feature = "system-services-ptrvalidate")]
pub use sysmem::IsBadStringPtrW as IsBadStringPtr;
#[cfg(feature = "system-services-ptrvalidate")]
pub use sysmem::IsBadWritePtr;
#[cfg(feature = "system-services-shutdown")]
mod sysshutdown_polyfill {
#![allow(non_snake_case, missing_docs)]
#![allow(clippy::missing_safety_doc)]
use super::sysshutdown;
use super::wincore;
#[inline]
pub unsafe extern "system" fn ExitWindows(_dwreserved: u32, _code: u32) -> wincore::BOOL {
unsafe { sysshutdown::ExitWindowsEx(sysshutdown::EWX_LOGOFF, u32::MAX) }
}
}