aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/shellapi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/shellapi.rs')
-rw-r--r--vendor/winapi/src/um/shellapi.rs923
1 files changed, 0 insertions, 923 deletions
diff --git a/vendor/winapi/src/um/shellapi.rs b/vendor/winapi/src/um/shellapi.rs
deleted file mode 100644
index 2c961c4..0000000
--- a/vendor/winapi/src/um/shellapi.rs
+++ /dev/null
@@ -1,923 +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
-//! SHELL.DLL functions, types, and definitions
-use ctypes::{__int64, c_int, c_void};
-use shared::basetsd::{DWORD_PTR, UINT_PTR};
-use shared::guiddef::{GUID, REFIID};
-use shared::minwindef::{
- BOOL, DWORD, FILETIME, HINSTANCE, HKEY, INT, LPARAM, LPVOID, MAX_PATH, UINT, ULONG, WORD,
-};
-use shared::windef::{HICON, HWND, POINT, RECT};
-use um::minwinbase::LPSECURITY_ATTRIBUTES;
-use um::processthreadsapi::{LPPROCESS_INFORMATION, LPSTARTUPINFOW};
-use um::winnt::{
- CHAR, HANDLE, HRESULT, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PCSTR, PCWSTR, PCZZSTR, PCZZWSTR, PWSTR,
- PZZSTR, PZZWSTR, ULARGE_INTEGER, WCHAR,
-};
-use um::winuser::WM_USER;
-DECLARE_HANDLE!{HDROP, HDROP__}
-extern "system" {
- pub fn DragQueryFileA(
- hDrop: HDROP,
- iFile: UINT,
- lpszFile: LPSTR,
- cch: UINT,
- ) -> UINT;
- pub fn DragQueryFileW(
- hDrop: HDROP,
- iFile: UINT,
- lpszFile: LPWSTR,
- cch: UINT,
- ) -> UINT;
- pub fn DragQueryPoint(
- hDrop: HDROP,
- lppt: *mut POINT,
- ) -> BOOL;
- pub fn DragFinish(
- hDrop: HDROP,
- );
- pub fn DragAcceptFiles(
- hWnd: HWND,
- fAccept: BOOL,
- );
- pub fn ShellExecuteA(
- hwnd: HWND,
- lpOperation: LPCSTR,
- lpFile: LPCSTR,
- lpParameters: LPCSTR,
- lpDirectory: LPCSTR,
- nShowCmd: c_int,
- ) -> HINSTANCE;
- pub fn ShellExecuteW(
- hwnd: HWND,
- lpOperation: LPCWSTR,
- lpFile: LPCWSTR,
- lpParameters: LPCWSTR,
- lpDirectory: LPCWSTR,
- nShowCmd: c_int,
- ) -> HINSTANCE;
- pub fn FindExecutableA(
- lpFile: LPCSTR,
- lpDirectory: LPCSTR,
- lpResult: LPSTR,
- ) -> HINSTANCE;
- pub fn FindExecutableW(
- lpFile: LPCWSTR,
- lpDirectory: LPCWSTR,
- lpResult: LPWSTR,
- ) -> HINSTANCE;
- pub fn CommandLineToArgvW(
- lpCmdLine: LPCWSTR,
- pNumArgs: *mut c_int,
- ) -> *mut LPWSTR;
- pub fn ShellAboutA(
- hWnd: HWND,
- szApp: LPCSTR,
- szOtherStuff: LPCSTR,
- hIcon: HICON,
- ) -> INT;
- pub fn ShellAboutW(
- hWnd: HWND,
- szApp: LPCWSTR,
- szOtherStuff: LPCWSTR,
- hIcon: HICON,
- ) -> INT;
- pub fn DuplicateIcon(
- hInst: HINSTANCE,
- hIcon: HICON,
- ) -> HICON;
- pub fn ExtractAssociatedIconA(
- hInst: HINSTANCE,
- pszIconPath: LPSTR,
- piIcon: *mut WORD,
- ) -> HICON;
- pub fn ExtractAssociatedIconW(
- hInst: HINSTANCE,
- pszIconPath: LPWSTR,
- piIcon: *mut WORD,
- ) -> HICON;
- pub fn ExtractAssociatedIconExA(
- hInst: HINSTANCE,
- pszIconPath: LPSTR,
- piIconIndex: *mut WORD,
- piIconId: *mut WORD,
- ) -> HICON;
- pub fn ExtractAssociatedIconExW(
- hInst: HINSTANCE,
- pszIconPath: LPWSTR,
- piIconIndex: *mut WORD,
- piIconId: *mut WORD,
- ) -> HICON;
- pub fn ExtractIconA(
- hInst: HINSTANCE,
- pszExeFileName: LPCSTR,
- nIconIndex: UINT,
- ) -> HICON;
- pub fn ExtractIconW(
- hInst: HINSTANCE,
- pszExeFileName: LPCWSTR,
- nIconIndex: UINT,
- ) -> HICON;
-}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct DRAGINFOA {
- uSize: UINT,
- pt: POINT,
- fNC: BOOL,
- lpFileList: PZZSTR,
- grfKeyState: DWORD,
-}}
-pub type LPDRAGINFOA = *mut DRAGINFOA;
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct DRAGINFOW {
- uSize: UINT,
- pt: POINT,
- fNC: BOOL,
- lpFileList: PZZWSTR,
- grfKeyState: DWORD,
-}}
-pub type LPDRAGINFOW = *mut DRAGINFOW;
-pub const ABM_NEW: DWORD = 0x00000000;
-pub const ABM_REMOVE: DWORD = 0x00000001;
-pub const ABM_QUERYPOS: DWORD = 0x00000002;
-pub const ABM_SETPOS: DWORD = 0x00000003;
-pub const ABM_GETSTATE: DWORD = 0x00000004;
-pub const ABM_GETTASKBARPOS: DWORD = 0x00000005;
-pub const ABM_ACTIVATE: DWORD = 0x00000006;
-pub const ABM_GETAUTOHIDEBAR: DWORD = 0x00000007;
-pub const ABM_SETAUTOHIDEBAR: DWORD = 0x00000008;
-pub const ABM_WINDOWPOSCHANGED: DWORD = 0x0000009;
-pub const ABM_SETSTATE: DWORD = 0x0000000a;
-pub const ABM_GETAUTOHIDEBAREX: DWORD = 0x0000000b;
-pub const ABM_SETAUTOHIDEBAREX: DWORD = 0x0000000c;
-pub const ABN_STATECHANGE: DWORD = 0x0000000;
-pub const ABN_POSCHANGED: DWORD = 0x0000001;
-pub const ABN_FULLSCREENAPP: DWORD = 0x0000002;
-pub const ABN_WINDOWARRANGE: DWORD = 0x0000003;
-pub const ABS_AUTOHIDE: UINT = 0x0000001;
-pub const ABS_ALWAYSONTOP: UINT = 0x0000002;
-pub const ABE_LEFT: UINT = 0;
-pub const ABE_TOP: UINT = 1;
-pub const ABE_RIGHT: UINT = 2;
-pub const ABE_BOTTOM: UINT = 3;
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct APPBARDATA {
- cbSize: DWORD,
- hWnd: HWND,
- uCallbackMessage: UINT,
- uEdge: UINT,
- rc: RECT,
- lParam: LPARAM,
-}}
-pub type PAPPBARDATA = *mut APPBARDATA;
-extern "system" {
- pub fn SHAppBarMessage(
- dwMessage: DWORD,
- pData: PAPPBARDATA,
- ) -> UINT_PTR;
- pub fn DoEnvironmentSubstA(
- pszSrc: LPSTR,
- cchSrc: UINT,
- ) -> DWORD;
- pub fn DoEnvironmentSubstW(
- pszSrc: LPWSTR,
- cchSrc: UINT,
- ) -> DWORD;
- pub fn ExtractIconExA(
- lpszFile: LPCSTR,
- nIconIndex: c_int,
- phiconLarge: *mut HICON,
- phiconSmall: *mut HICON,
- nIcons: UINT,
- ) -> UINT;
- pub fn ExtractIconExW(
- lpszFile: LPCWSTR,
- nIconIndex: c_int,
- phiconLarge: *mut HICON,
- phiconSmall: *mut HICON,
- nIcons: UINT,
- ) -> UINT;
-}
-pub const FO_MOVE: WORD = 0x0001;
-pub const FO_COPY: WORD = 0x0002;
-pub const FO_DELETE: WORD = 0x0003;
-pub const FO_RENAME: WORD = 0x0004;
-pub const FOF_MULTIDESTFILES: WORD = 0x0001;
-pub const FOF_CONFIRMMOUSE: WORD = 0x0002;
-pub const FOF_SILENT: WORD = 0x0004;
-pub const FOF_RENAMEONCOLLISION: WORD = 0x0008;
-pub const FOF_NOCONFIRMATION: WORD = 0x0010;
-pub const FOF_WANTMAPPINGHANDLE: WORD = 0x0020;
-pub const FOF_ALLOWUNDO: WORD = 0x0040;
-pub const FOF_FILESONLY: WORD = 0x0080;
-pub const FOF_SIMPLEPROGRESS: WORD = 0x0100;
-pub const FOF_NOCONFIRMMKDIR: WORD = 0x0200;
-pub const FOF_NOERRORUI: WORD = 0x0400;
-pub const FOF_NOCOPYSECURITYATTRIBS: WORD = 0x0800;
-pub const FOF_NORECURSION: WORD = 0x1000;
-pub const FOF_NO_CONNECTED_ELEMENTS: WORD = 0x2000;
-pub const FOF_WANTNUKEWARNING: WORD = 0x4000;
-pub const FOF_NORECURSEREPARSE: WORD = 0x8000;
-pub const FOF_NO_UI: WORD = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR;
-pub type FILEOP_FLAGS = WORD;
-pub const PO_DELETE: WORD = 0x0013;
-pub const PO_RENAME: WORD = 0x0014;
-pub const PO_PORTCHANGE: WORD = 0x0020;
-pub const PO_REN_PORT: WORD = 0x0034;
-pub type PRINTEROP_FLAGS = WORD;
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHFILEOPSTRUCTA {
- hwnd: HWND,
- wFunc: UINT,
- pFrom: PCZZSTR,
- pTo: PCZZSTR,
- fFlags: FILEOP_FLAGS,
- fAnyOperationsAborted: BOOL,
- hNameMappings: LPVOID,
- lpszProgressTitle: PCSTR,
-}}
-pub type LPSHFILEOPSTRUCTA = *mut SHFILEOPSTRUCTA;
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHFILEOPSTRUCTW {
- hwnd: HWND,
- wFunc: UINT,
- pFrom: PCZZWSTR,
- pTo: PCZZWSTR,
- fFlags: FILEOP_FLAGS,
- fAnyOperationsAborted: BOOL,
- hNameMappings: LPVOID,
- lpszProgressTitle: PCWSTR,
-}}
-pub type LPSHFILEOPSTRUCTW = *mut SHFILEOPSTRUCTW;
-extern "system" {
- pub fn SHFileOperationA(
- lpFileOp: LPSHFILEOPSTRUCTA,
- ) -> c_int;
- pub fn SHFileOperationW(
- lpFileOp: LPSHFILEOPSTRUCTW,
- ) -> c_int;
- pub fn SHFreeNameMappings(
- hNameMappings: HANDLE,
- );
-}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHNAMEMAPPINGA {
- pszOldPath: LPSTR,
- pszNewPath: LPSTR,
- cchOldPath: c_int,
- cchNewPath: c_int,
-}}
-pub type LPSHNAMEMAPPINGA = *mut SHNAMEMAPPINGA;
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHNAMEMAPPINGW {
- pszOldPath: LPWSTR,
- pszNewPath: LPWSTR,
- cchOldPath: c_int,
- cchNewPath: c_int,
-}}
-pub type LPSHNAMEMAPPINGW = *mut SHNAMEMAPPINGW;
-pub const SE_ERR_FNF: DWORD = 2;
-pub const SE_ERR_PNF: DWORD = 3;
-pub const SE_ERR_ACCESSDENIED: DWORD = 5;
-pub const SE_ERR_OOM: DWORD = 8;
-pub const SE_ERR_DLLNOTFOUND: DWORD = 32;
-pub const SE_ERR_SHARE: DWORD = 26;
-pub const SE_ERR_ASSOCINCOMPLETE: DWORD = 27;
-pub const SE_ERR_DDETIMEOUT: DWORD = 28;
-pub const SE_ERR_DDEFAIL: DWORD = 29;
-pub const SE_ERR_DDEBUSY: DWORD = 30;
-pub const SE_ERR_NOASSOC: DWORD = 31;
-pub const SEE_MASK_DEFAULT: DWORD = 0x00000000;
-pub const SEE_MASK_CLASSNAME: DWORD = 0x00000001;
-pub const SEE_MASK_CLASSKEY: DWORD = 0x00000003;
-pub const SEE_MASK_IDLIST: DWORD = 0x00000004;
-pub const SEE_MASK_INVOKEIDLIST: DWORD = 0x0000000c;
-pub const SEE_MASK_ICON: DWORD = 0x00000010;
-pub const SEE_MASK_HOTKEY: DWORD = 0x00000020;
-pub const SEE_MASK_NOCLOSEPROCESS: DWORD = 0x00000040;
-pub const SEE_MASK_CONNECTNETDRV: DWORD = 0x00000080;
-pub const SEE_MASK_NOASYNC: DWORD = 0x00000100;
-pub const SEE_MASK_FLAG_DDEWAIT: DWORD = SEE_MASK_NOASYNC;
-pub const SEE_MASK_DOENVSUBST: DWORD = 0x00000200;
-pub const SEE_MASK_FLAG_NO_UI: DWORD = 0x00000400;
-pub const SEE_MASK_UNICODE: DWORD = 0x00004000;
-pub const SEE_MASK_NO_CONSOLE: DWORD = 0x00008000;
-pub const SEE_MASK_ASYNCOK: DWORD = 0x00100000;
-pub const SEE_MASK_HMONITOR: DWORD = 0x00200000;
-pub const SEE_MASK_NOZONECHECKS: DWORD = 0x00800000;
-pub const SEE_MASK_NOQUERYCLASSSTORE: DWORD = 0x01000000;
-pub const SEE_MASK_WAITFORINPUTIDLE: DWORD = 0x02000000;
-pub const SEE_MASK_FLAG_LOG_USAGE: DWORD = 0x04000000;
-pub const SEE_MASK_FLAG_HINST_IS_SITE: DWORD = 0x08000000;
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHELLEXECUTEINFOA {
- cbSize: DWORD,
- fMask: ULONG,
- hwnd: HWND,
- lpVerb: LPCSTR,
- lpFile: LPCSTR,
- lpParameters: LPCSTR,
- lpDirectory: LPCSTR,
- nShow: c_int,
- hInstApp: HINSTANCE,
- lpIDList: *mut c_void,
- lpClass: LPCSTR,
- hkeyClass: HKEY,
- dwHotKey: DWORD,
- hMonitor: HANDLE,
- hProcess: HANDLE,
-}}
-pub type LPSHELLEXECUTEINFOA = *mut SHELLEXECUTEINFOA;
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHELLEXECUTEINFOW {
- cbSize: DWORD,
- fMask: ULONG,
- hwnd: HWND,
- lpVerb: LPCWSTR,
- lpFile: LPCWSTR,
- lpParameters: LPCWSTR,
- lpDirectory: LPCWSTR,
- nShow: c_int,
- hInstApp: HINSTANCE,
- lpIDList: *mut c_void,
- lpClass: LPCWSTR,
- hkeyClass: HKEY,
- dwHotKey: DWORD,
- hMonitor: HANDLE,
- hProcess: HANDLE,
-}}
-pub type LPSHELLEXECUTEINFOW = *mut SHELLEXECUTEINFOW;
-extern "system" {
- pub fn ShellExecuteExA(
- pExecInfo: *mut SHELLEXECUTEINFOA,
- ) -> BOOL;
- pub fn ShellExecuteExW(
- pExecInfo: *mut SHELLEXECUTEINFOW,
- ) -> BOOL;
-}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHCREATEPROCESSINFOW {
- cbSize: DWORD,
- fMask: ULONG,
- hwnd: HWND,
- pszFile: LPCWSTR,
- pszParameters: LPCWSTR,
- pszCurrentDirectory: LPCWSTR,
- hUserToken: HANDLE,
- lpProcessAttributes: LPSECURITY_ATTRIBUTES,
- lpThreadAttributes: LPSECURITY_ATTRIBUTES,
- bInheritHandles: BOOL,
- dwCreationFlags: DWORD,
- lpStartupInfo: LPSTARTUPINFOW,
- lpProcessInformation: LPPROCESS_INFORMATION,
-}}
-pub type PSHCREATEPROCESSINFOW = *mut SHCREATEPROCESSINFOW;
-extern "system" {
- pub fn SHCreateProcessAsUserW(
- pscpi: PSHCREATEPROCESSINFOW,
- ) -> BOOL;
- pub fn SHEvaluateSystemCommandTemplate(
- pszCmdTemplate: PCWSTR,
- ppszApplication: *mut PWSTR,
- ppszCommandLine: *mut PWSTR,
- ppszParameters: *mut PWSTR,
- ) -> HRESULT;
-}
-ENUM!{enum ASSOCCLASS {
- ASSOCCLASS_SHELL_KEY = 0,
- ASSOCCLASS_PROGID_KEY,
- ASSOCCLASS_PROGID_STR,
- ASSOCCLASS_CLSID_KEY,
- ASSOCCLASS_CLSID_STR,
- ASSOCCLASS_APP_KEY,
- ASSOCCLASS_APP_STR,
- ASSOCCLASS_SYSTEM_STR,
- ASSOCCLASS_FOLDER,
- ASSOCCLASS_STAR,
- ASSOCCLASS_FIXED_PROGID_STR,
- ASSOCCLASS_PROTOCOL_STR,
-}}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct ASSOCIATIONELEMENT {
- ac: ASSOCCLASS,
- hkClass: HKEY,
- pszClass: PCWSTR,
-}}
-extern "system" {
- pub fn AssocCreateForClasses(
- rgClasses: *const ASSOCIATIONELEMENT,
- cClasses: ULONG,
- riid: REFIID,
- ppv: *mut *mut c_void,
- ) -> HRESULT;
-}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHQUERYRBINFO {
- cbSize: DWORD,
- i64Size: __int64,
- i64NumItems: __int64,
-}}
-pub type LPSHQUERYRBINFO = *mut SHQUERYRBINFO;
-pub const SHERB_NOCONFIRMATION: DWORD = 0x00000001;
-pub const SHERB_NOPROGRESSUI: DWORD = 0x00000002;
-pub const SHERB_NOSOUND: DWORD = 0x00000004;
-extern "system" {
- pub fn SHQueryRecycleBinA(
- pszRootPath: LPCSTR,
- pSHQueryRBInfo: LPSHQUERYRBINFO,
- ) -> HRESULT;
- pub fn SHQueryRecycleBinW(
- pszRootPath: LPCWSTR,
- pSHQueryRBInfo: LPSHQUERYRBINFO,
- ) -> HRESULT;
- pub fn SHEmptyRecycleBinA(
- hwnd: HWND,
- pszRootPath: LPCSTR,
- dwFlags: DWORD,
- ) -> HRESULT;
- pub fn SHEmptyRecycleBinW(
- hwnd: HWND,
- pszRootPath: LPCWSTR,
- dwFlags: DWORD,
- ) -> HRESULT;
-}
-ENUM!{enum QUERY_USER_NOTIFICATION_STATE {
- QUNS_NOT_PRESENT = 1,
- QUNS_BUSY = 2,
- QUNS_RUNNING_D3D_FULL_SCREEN = 3,
- QUNS_PRESENTATION_MODE = 4,
- QUNS_ACCEPTS_NOTIFICATIONS = 5,
- QUNS_QUIET_TIME = 6,
- QUNS_APP = 7,
-}}
-extern "system" {
- pub fn SHQueryUserNotificationState(
- pquns: *mut QUERY_USER_NOTIFICATION_STATE,
- ) -> HRESULT;
- pub fn SHGetPropertyStoreForWindow(
- hwnd: HWND,
- riid: REFIID,
- ppv: *mut *mut c_void,
- ) -> HRESULT;
-}
-UNION!{#[cfg_attr(target_arch = "x86", repr(packed))] union NOTIFYICONDATAA_u {
- [u32; 1],
- uTimeout uTimeout_mut: UINT,
- uVersion uVersion_mut: UINT,
-}}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct NOTIFYICONDATAA {
- cbSize: DWORD,
- hWnd: HWND,
- uID: UINT,
- uFlags: UINT,
- uCallbackMessage: UINT,
- hIcon: HICON,
- szTip: [CHAR; 128],
- dwState: DWORD,
- dwStateMask: DWORD,
- szInfo: [CHAR; 256],
- u: NOTIFYICONDATAA_u,
- szInfoTitle: [CHAR; 64],
- dwInfoFlags: DWORD,
- guidItem: GUID,
- hBalloonIcon: HICON,
-}}
-pub type PNOTIFYICONDATAA = *mut NOTIFYICONDATAA;
-UNION!{#[cfg_attr(target_arch = "x86", repr(packed))] union NOTIFYICONDATAW_u {
- [u32; 1],
- uTimeout uTimeout_mut: UINT,
- uVersion uVersion_mut: UINT,
-}}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct NOTIFYICONDATAW {
- cbSize: DWORD,
- hWnd: HWND,
- uID: UINT,
- uFlags: UINT,
- uCallbackMessage: UINT,
- hIcon: HICON,
- szTip: [WCHAR; 128],
- dwState: DWORD,
- dwStateMask: DWORD,
- szInfo: [WCHAR; 256],
- u: NOTIFYICONDATAW_u,
- szInfoTitle: [WCHAR; 64],
- dwInfoFlags: DWORD,
- guidItem: GUID,
- hBalloonIcon: HICON,
-}}
-pub type PNOTIFYICONDATAW = *mut NOTIFYICONDATAW;
-pub const NIN_SELECT: DWORD = WM_USER + 0;
-pub const NINF_KEY: DWORD = 0x1;
-pub const NIN_KEYSELECT: DWORD = NIN_SELECT | NINF_KEY;
-pub const NIN_BALLOONSHOW: DWORD = WM_USER + 2;
-pub const NIN_BALLOONHIDE: DWORD = WM_USER + 3;
-pub const NIN_BALLOONTIMEOUT: DWORD = WM_USER + 4;
-pub const NIN_BALLOONUSERCLICK: DWORD = WM_USER + 5;
-pub const NIN_POPUPOPEN: DWORD = WM_USER + 6;
-pub const NIN_POPUPCLOSE: DWORD = WM_USER + 7;
-pub const NIM_ADD: DWORD = 0x00000000;
-pub const NIM_MODIFY: DWORD = 0x00000001;
-pub const NIM_DELETE: DWORD = 0x00000002;
-pub const NIM_SETFOCUS: DWORD = 0x00000003;
-pub const NIM_SETVERSION: DWORD = 0x00000004;
-pub const NOTIFYICON_VERSION: DWORD = 3;
-pub const NOTIFYICON_VERSION_4: DWORD = 4;
-pub const NIF_MESSAGE: DWORD = 0x00000001;
-pub const NIF_ICON: DWORD = 0x00000002;
-pub const NIF_TIP: DWORD = 0x00000004;
-pub const NIF_STATE: DWORD = 0x00000008;
-pub const NIF_INFO: DWORD = 0x00000010;
-pub const NIF_GUID: DWORD = 0x00000020;
-pub const NIF_REALTIME: DWORD = 0x00000040;
-pub const NIF_SHOWTIP: DWORD = 0x00000080;
-pub const NIS_HIDDEN: DWORD = 0x00000001;
-pub const NIS_SHAREDICON: DWORD = 0x00000002;
-pub const NIIF_NONE: DWORD = 0x00000000;
-pub const NIIF_INFO: DWORD = 0x00000001;
-pub const NIIF_WARNING: DWORD = 0x00000002;
-pub const NIIF_ERROR: DWORD = 0x00000003;
-pub const NIIF_USER: DWORD = 0x00000004;
-pub const NIIF_ICON_MASK: DWORD = 0x0000000F;
-pub const NIIF_NOSOUND: DWORD = 0x00000010;
-pub const NIIF_LARGE_ICON: DWORD = 0x00000020;
-pub const NIIF_RESPECT_QUIET_TIME: DWORD = 0x00000080;
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct NOTIFYICONIDENTIFIER {
- cbSize: DWORD,
- hWnd: HWND,
- uID: UINT,
- guidItem: GUID,
-}}
-pub type PNOTIFYICONIDENTIFIER = *mut NOTIFYICONIDENTIFIER;
-extern "system" {
- pub fn Shell_NotifyIconA(
- dwMessage: DWORD,
- lpData: PNOTIFYICONDATAA,
- ) -> BOOL;
- pub fn Shell_NotifyIconW(
- dwMessage: DWORD,
- lpData: PNOTIFYICONDATAW,
- ) -> BOOL;
- pub fn Shell_NotifyIconGetRect(
- identifier: *const NOTIFYICONIDENTIFIER,
- iconLocation: *mut RECT,
- ) -> HRESULT;
-}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHFILEINFOA {
- hIcon: HICON,
- iIcon: c_int,
- dwAttributes: DWORD,
- szDisplayName: [CHAR; MAX_PATH],
- szTypeName: [CHAR; 80],
-}}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHFILEINFOW {
- hIcon: HICON,
- iIcon: c_int,
- dwAttributes: DWORD,
- szDisplayName: [WCHAR; MAX_PATH],
- szTypeName: [WCHAR; 80],
-}}
-pub const SHGFI_ICON: DWORD = 0x000000100;
-pub const SHGFI_DISPLAYNAME: DWORD = 0x000000200;
-pub const SHGFI_TYPENAME: DWORD = 0x000000400;
-pub const SHGFI_ATTRIBUTES: DWORD = 0x000000800;
-pub const SHGFI_ICONLOCATION: DWORD = 0x000001000;
-pub const SHGFI_EXETYPE: DWORD = 0x000002000;
-pub const SHGFI_SYSICONINDEX: DWORD = 0x000004000;
-pub const SHGFI_LINKOVERLAY: DWORD = 0x000008000;
-pub const SHGFI_SELECTED: DWORD = 0x000010000;
-pub const SHGFI_ATTR_SPECIFIED: DWORD = 0x000020000;
-pub const SHGFI_LARGEICON: DWORD = 0x000000000;
-pub const SHGFI_SMALLICON: DWORD = 0x000000001;
-pub const SHGFI_OPENICON: DWORD = 0x000000002;
-pub const SHGFI_SHELLICONSIZE: DWORD = 0x000000004;
-pub const SHGFI_PIDL: DWORD = 0x000000008;
-pub const SHGFI_USEFILEATTRIBUTES: DWORD = 0x000000010;
-pub const SHGFI_ADDOVERLAYS: DWORD = 0x000000020;
-pub const SHGFI_OVERLAYINDEX: DWORD = 0x000000040;
-extern "system" {
- pub fn SHGetFileInfoA(
- pszPath: LPCSTR,
- dwFileAttributes: DWORD,
- psfi: *mut SHFILEINFOA,
- cbFileInfo: UINT,
- uFlags: UINT,
- ) -> DWORD_PTR;
- pub fn SHGetFileInfoW(
- pszPath: LPCWSTR,
- dwFileAttributes: DWORD,
- psfi: *mut SHFILEINFOW,
- cbFileInfo: UINT,
- uFlags: UINT,
- ) -> DWORD_PTR;
-}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct SHSTOCKICONINFO {
- cbSize: DWORD,
- hIcon: HICON,
- iSysImageIndex: c_int,
- iIcon: c_int,
- szPath: [WCHAR; MAX_PATH],
-}}
-pub const SHGSI_ICONLOCATION: DWORD = 0;
-pub const SHGSI_ICON: DWORD = SHGFI_ICON;
-pub const SHGSI_SYSICONINDEX: DWORD = SHGFI_SYSICONINDEX;
-pub const SHGSI_LINKOVERLAY: DWORD = SHGFI_LINKOVERLAY;
-pub const SHGSI_SELECTED: DWORD = SHGFI_SELECTED;
-pub const SHGSI_LARGEICON: DWORD = SHGFI_LARGEICON;
-pub const SHGSI_SMALLICON: DWORD = SHGFI_SMALLICON;
-pub const SHGSI_SHELLICONSIZE: DWORD = SHGFI_SHELLICONSIZE;
-ENUM!{enum SHSTOCKICONID {
- SIID_DOCNOASSOC = 0,
- SIID_DOCASSOC = 1,
- SIID_APPLICATION = 2,
- SIID_FOLDER = 3,
- SIID_FOLDEROPEN = 4,
- SIID_DRIVE525 = 5,
- SIID_DRIVE35 = 6,
- SIID_DRIVEREMOVE = 7,
- SIID_DRIVEFIXED = 8,
- SIID_DRIVENET = 9,
- SIID_DRIVENETDISABLED = 10,
- SIID_DRIVECD = 11,
- SIID_DRIVERAM = 12,
- SIID_WORLD = 13,
- SIID_SERVER = 15,
- SIID_PRINTER = 16,
- SIID_MYNETWORK = 17,
- SIID_FIND = 22,
- SIID_HELP = 23,
- SIID_SHARE = 28,
- SIID_LINK = 29,
- SIID_SLOWFILE = 30,
- SIID_RECYCLER = 31,
- SIID_RECYCLERFULL = 32,
- SIID_MEDIACDAUDIO = 40,
- SIID_LOCK = 47,
- SIID_AUTOLIST = 49,
- SIID_PRINTERNET = 50,
- SIID_SERVERSHARE = 51,
- SIID_PRINTERFAX = 52,
- SIID_PRINTERFAXNET = 53,
- SIID_PRINTERFILE = 54,
- SIID_STACK = 55,
- SIID_MEDIASVCD = 56,
- SIID_STUFFEDFOLDER = 57,
- SIID_DRIVEUNKNOWN = 58,
- SIID_DRIVEDVD = 59,
- SIID_MEDIADVD = 60,
- SIID_MEDIADVDRAM = 61,
- SIID_MEDIADVDRW = 62,
- SIID_MEDIADVDR = 63,
- SIID_MEDIADVDROM = 64,
- SIID_MEDIACDAUDIOPLUS = 65,
- SIID_MEDIACDRW = 66,
- SIID_MEDIACDR = 67,
- SIID_MEDIACDBURN = 68,
- SIID_MEDIABLANKCD = 69,
- SIID_MEDIACDROM = 70,
- SIID_AUDIOFILES = 71,
- SIID_IMAGEFILES = 72,
- SIID_VIDEOFILES = 73,
- SIID_MIXEDFILES = 74,
- SIID_FOLDERBACK = 75,
- SIID_FOLDERFRONT = 76,
- SIID_SHIELD = 77,
- SIID_WARNING = 78,
- SIID_INFO = 79,
- SIID_ERROR = 80,
- SIID_KEY = 81,
- SIID_SOFTWARE = 82,
- SIID_RENAME = 83,
- SIID_DELETE = 84,
- SIID_MEDIAAUDIODVD = 85,
- SIID_MEDIAMOVIEDVD = 86,
- SIID_MEDIAENHANCEDCD = 87,
- SIID_MEDIAENHANCEDDVD = 88,
- SIID_MEDIAHDDVD = 89,
- SIID_MEDIABLURAY = 90,
- SIID_MEDIAVCD = 91,
- SIID_MEDIADVDPLUSR = 92,
- SIID_MEDIADVDPLUSRW = 93,
- SIID_DESKTOPPC = 94,
- SIID_MOBILEPC = 95,
- SIID_USERS = 96,
- SIID_MEDIASMARTMEDIA = 97,
- SIID_MEDIACOMPACTFLASH = 98,
- SIID_DEVICECELLPHONE = 99,
- SIID_DEVICECAMERA = 100,
- SIID_DEVICEVIDEOCAMERA = 101,
- SIID_DEVICEAUDIOPLAYER = 102,
- SIID_NETWORKCONNECT = 103,
- SIID_INTERNET = 104,
- SIID_ZIPFILE = 105,
- SIID_SETTINGS = 106,
- SIID_DRIVEHDDVD = 132,
- SIID_DRIVEBD = 133,
- SIID_MEDIAHDDVDROM = 134,
- SIID_MEDIAHDDVDR = 135,
- SIID_MEDIAHDDVDRAM = 136,
- SIID_MEDIABDROM = 137,
- SIID_MEDIABDR = 138,
- SIID_MEDIABDRE = 139,
- SIID_CLUSTEREDDRIVE = 140,
- SIID_MAX_ICONS = 181,
-}}
-pub const SIID_INVALID: SHSTOCKICONID = -1i32 as u32;
-extern "system" {
- pub fn SHGetStockIconInfo(
- siid: SHSTOCKICONID,
- uFlags: UINT,
- psii: *mut SHSTOCKICONINFO,
- ) -> HRESULT;
- pub fn SHGetDiskFreeSpaceExA(
- pszDirectoryName: LPCSTR,
- pulFreeBytesAvailableToCaller: *mut ULARGE_INTEGER,
- pulTotalNumberOfBytes: *mut ULARGE_INTEGER,
- pulTotalNumberOfFreeBytes: *mut ULARGE_INTEGER,
- ) -> BOOL;
- pub fn SHGetDiskFreeSpaceExW(
- pszDirectoryName: LPCWSTR,
- pulFreeBytesAvailableToCaller: *mut ULARGE_INTEGER,
- pulTotalNumberOfBytes: *mut ULARGE_INTEGER,
- pulTotalNumberOfFreeBytes: *mut ULARGE_INTEGER,
- ) -> BOOL;
- pub fn SHGetNewLinkInfoA(
- pszLinkTo: LPCSTR,
- pszDir: LPCSTR,
- pszName: LPSTR,
- pfMustCopy: *mut BOOL,
- uFlags: UINT,
- ) -> BOOL;
- pub fn SHGetNewLinkInfoW(
- pszLinkTo: LPCWSTR,
- pszDir: LPCWSTR,
- pszName: LPWSTR,
- pfMustCopy: *mut BOOL,
- uFlags: UINT,
- ) -> BOOL;
-}
-pub const SHGNLI_PIDL: DWORD = 0x000000001;
-pub const SHGNLI_PREFIXNAME: DWORD = 0x000000002;
-pub const SHGNLI_NOUNIQUE: DWORD = 0x000000004;
-pub const SHGNLI_NOLNK: DWORD = 0x000000008;
-pub const SHGNLI_NOLOCNAME: DWORD = 0x000000010;
-pub const SHGNLI_USEURLEXT: DWORD = 0x000000020;
-pub const PRINTACTION_OPEN: DWORD = 0;
-pub const PRINTACTION_PROPERTIES: DWORD = 1;
-pub const PRINTACTION_NETINSTALL: DWORD = 2;
-pub const PRINTACTION_NETINSTALLLINK: DWORD = 3;
-pub const PRINTACTION_TESTPAGE: DWORD = 4;
-pub const PRINTACTION_OPENNETPRN: DWORD = 5;
-pub const PRINTACTION_DOCUMENTDEFAULTS: DWORD = 6;
-pub const PRINTACTION_SERVERPROPERTIES: DWORD = 7;
-extern "system" {
- pub fn SHInvokePrinterCommandA(
- hwnd: HWND,
- uAction: UINT,
- lpBuf1: LPCSTR,
- lpBuf2: LPCSTR,
- fModal: BOOL,
- ) -> BOOL;
- pub fn SHInvokePrinterCommandW(
- hwnd: HWND,
- uAction: UINT,
- lpBuf1: LPCWSTR,
- lpBuf2: LPCWSTR,
- fModal: BOOL,
- ) -> BOOL;
-}
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPEN_PRINTER_PROPS_INFOA {
- dwSize: DWORD,
- pszSheetName: LPSTR,
- uSheetIndex: UINT,
- dwFlags: DWORD,
- bModal: BOOL,
-}}
-pub type POPEN_PRINTER_PROPS_INFOA = *mut OPEN_PRINTER_PROPS_INFOA;
-STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct OPEN_PRINTER_PROPS_INFOW {
- dwSize: DWORD,
- pszSheetName: LPWSTR,
- uSheetIndex: UINT,
- dwFlags: DWORD,
- bModal: BOOL,
-}}
-pub type POPEN_PRINTER_PROPS_INFOW = *mut OPEN_PRINTER_PROPS_INFOW;
-pub const PRINT_PROP_FORCE_NAME: DWORD = 0x01;
-extern "system" {
- pub fn SHLoadNonloadedIconOverlayIdentifiers() -> HRESULT;
- pub fn SHIsFileAvailableOffline(
- pwszPath: PCWSTR,
- pdwStatus: *mut DWORD,
- ) -> HRESULT;
-}
-pub const OFFLINE_STATUS_LOCAL: DWORD = 0x0001;
-pub const OFFLINE_STATUS_REMOTE: DWORD = 0x0002;
-pub const OFFLINE_STATUS_INCOMPLETE: DWORD = 0x0004;
-extern "system" {
- pub fn SHSetLocalizedName(
- pszPath: PCWSTR,
- pszResModule: PCWSTR,
- idsRes: c_int,
- ) -> HRESULT;
- pub fn SHRemoveLocalizedName(
- pszPath: PCWSTR,
- ) -> HRESULT;
- pub fn SHGetLocalizedName(
- pszPath: PCWSTR,
- pszResModule: PWSTR,
- cch: UINT,
- pidsRes: *mut c_int,
- ) -> HRESULT;
-}
-extern "C" {
- pub fn ShellMessageBoxA(
- hAppInst: HINSTANCE,
- hWnd: HWND,
- lpcText: LPCSTR,
- lpcTitle: LPCSTR,
- fuStyle: UINT,
- ...
- ) -> c_int;
- pub fn ShellMessageBoxW(
- hAppInst: HINSTANCE,
- hWnd: HWND,
- lpcText: LPCWSTR,
- lpcTitle: LPCWSTR,
- fuStyle: UINT,
- ...
- ) -> c_int;
-}
-extern "system" {
- pub fn IsLFNDriveA(
- pszPath: LPCSTR,
- ) -> BOOL;
- pub fn IsLFNDriveW(
- pszPath: LPCWSTR,
- ) -> BOOL;
- pub fn SHEnumerateUnreadMailAccountsA(
- hKeyUser: HKEY,
- dwIndex: DWORD,
- pszMailAddress: LPSTR,
- cchMailAddress: c_int,
- ) -> HRESULT;
- pub fn SHEnumerateUnreadMailAccountsW(
- hKeyUser: HKEY,
- dwIndex: DWORD,
- pszMailAddress: LPWSTR,
- cchMailAddress: c_int,
- ) -> HRESULT;
- pub fn SHGetUnreadMailCountA(
- hKeyUser: HKEY,
- pszMailAddress: LPCSTR,
- pdwCount: *mut DWORD,
- pFileTime: *mut FILETIME,
- pszShellExecuteCommand: LPSTR,
- cchShellExecuteCommand: c_int,
- ) -> HRESULT;
- pub fn SHGetUnreadMailCountW(
- hKeyUser: HKEY,
- pszMailAddress: LPCWSTR,
- pdwCount: *mut DWORD,
- pFileTime: *mut FILETIME,
- pszShellExecuteCommand: LPWSTR,
- cchShellExecuteCommand: c_int,
- ) -> HRESULT;
- pub fn SHSetUnreadMailCountA(
- pszMailAddress: LPCSTR,
- dwCount: DWORD,
- pszShellExecuteCommand: LPCSTR,
- ) -> HRESULT;
- pub fn SHSetUnreadMailCountW(
- pszMailAddress: LPCWSTR,
- dwCount: DWORD,
- pszShellExecuteCommand: LPCWSTR,
- ) -> HRESULT;
- pub fn SHTestTokenMembership(
- hToken: HANDLE,
- ulRID: ULONG,
- ) -> BOOL;
- pub fn SHGetImageList(
- iImageList: c_int,
- riid: REFIID,
- ppvObj: *mut *mut c_void,
- ) -> HRESULT;
-}
-pub const SHIL_LARGE: DWORD = 0;
-pub const SHIL_SMALL: DWORD = 1;
-pub const SHIL_EXTRALARGE: DWORD = 2;
-pub const SHIL_SYSSMALL: DWORD = 3;
-pub const SHIL_JUMBO: DWORD = 4;
-pub const SHIL_LAST: DWORD = SHIL_JUMBO;
-FN!{stdcall PFNCANSHAREFOLDERW(
- pszPath: PCWSTR,
-) -> HRESULT}
-FN!{stdcall PFNSHOWSHAREFOLDERUIW(
- hwndParent: HWND,
- pszPath: PCWSTR,
-) -> HRESULT}
-pub const WC_NETADDRESS: &'static str = "msctls_netaddress";
-extern "system" {
- pub fn InitNetworkAddressControl() -> BOOL;
-}
-// STRUCT!{struct NC_ADDRESS {
-// pAddrInfo: *mut NET_ADDRESS_INFO,
-// PortNumber: USHORT,
-// PrefixLength: BYTE,
-// }}
-// pub type PNC_ADDRESS = *mut NC_ADDRESS;
-extern "system" {
- pub fn SHGetDriveMedia(
- pszDrive: PCWSTR,
- pdwMediaContent: *mut DWORD,
- ) -> HRESULT;
-}