Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876#ifndef _SHELLAPI_H#define _SHELLAPI_H
#ifdef __cplusplusextern "C" {#endif#ifdef _MSC_VER#pragma warning(push)#pragma warning(disable:4201)#endif
#if !defined(_WIN64)#include <pshpack1.h>#endif
#define WINSHELLAPI DECLSPEC_IMPORT#define ABE_LEFT 0#define ABE_TOP 1#define ABE_RIGHT 2#define ABE_BOTTOM 3#define ABS_AUTOHIDE 1#define ABS_ALWAYSONTOP 2
#define SEE_MASK_DEFAULT 0x00000000#define SEE_MASK_CLASSNAME 0x00000001#define SEE_MASK_CLASSKEY 0x00000003#define SEE_MASK_IDLIST 0x00000004#define SEE_MASK_INVOKEIDLIST 0x0000000C#if (NTDDI_VERSION < NTDDI_VISTA) || defined(__REACTOS__)#define SEE_MASK_ICON 0x00000010#endif#define SEE_MASK_HOTKEY 0x00000020#define SEE_MASK_NOCLOSEPROCESS 0x00000040#define SEE_MASK_CONNECTNETDRV 0x00000080#define SEE_MASK_NOASYNC 0x00000100#define SEE_MASK_FLAG_DDEWAIT SEE_MASK_NOASYNC#define SEE_MASK_DOENVSUBST 0x00000200#define SEE_MASK_FLAG_NO_UI 0x00000400// 0x00001000 is undocumented.#define SEE_MASK_UNICODE 0x00004000#define SEE_MASK_NO_CONSOLE 0x00008000// 0x00010000 .. 0x00080000 are undocumented.#define SEE_MASK_ASYNCOK 0x00100000#if (NTDDI_VERSION >= NTDDI_WIN2K)#define SEE_MASK_HMONITOR 0x00200000#endif#if (NTDDI_VERSION >= NTDDI_WINXPSP1)#define SEE_MASK_NOZONECHECKS 0x00800000#endif#if (NTDDI_VERSION >= NTDDI_WIN2K)#define SEE_MASK_NOQUERYCLASSSTORE 0x01000000#define SEE_MASK_WAITFORINPUTIDLE 0x02000000#endif#if (NTDDI_VERSION >= NTDDI_WINXP)#define SEE_MASK_FLAG_LOG_USAGE 0x04000000#endif#if (NTDDI_VERSION >= NTDDI_VISTA)#define SEE_MASK_FLAG_HINST_IS_SITE 0x08000000#endif
#define ABM_NEW 0#define ABM_REMOVE 1#define ABM_QUERYPOS 2#define ABM_SETPOS 3#define ABM_GETSTATE 4#define ABM_GETTASKBARPOS 5#define ABM_ACTIVATE 6#define ABM_GETAUTOHIDEBAR 7#define ABM_SETAUTOHIDEBAR 8#define ABM_WINDOWPOSCHANGED 9#define ABM_SETSTATE 10#define ABN_STATECHANGE 0#define ABN_POSCHANGED 1#define ABN_FULLSCREENAPP 2#define ABN_WINDOWARRANGE 3
#if (_WIN32_IE >= 0x0500)#define NIN_SELECT (WM_USER + 0)#define NINF_KEY 1#define NIN_KEYSELECT (NIN_SELECT | NINF_KEY)#endif
#if (_WIN32_IE >= 0x0501)#define NIN_BALLOONSHOW (WM_USER + 2)#define NIN_BALLOONHIDE (WM_USER + 3)#define NIN_BALLOONTIMEOUT (WM_USER + 4)#define NIN_BALLOONUSERCLICK (WM_USER + 5)#endif#if (NTDDI_VERSION >= NTDDI_VISTA)#define NIN_POPUPOPEN (WM_USER + 6)#define NIN_POPUPCLOSE (WM_USER + 7)#endif
#define NIM_ADD 0#define NIM_MODIFY 1#define NIM_DELETE 2#if _WIN32_IE >= 0x0500#define NIM_SETFOCUS 3#define NIM_SETVERSION 4#define NOTIFYICON_VERSION 3#if (NTDDI_VERSION >= NTDDI_VISTA)#define NOTIFYICON_VERSION_4 4#endif#endif#define NIF_MESSAGE 1#define NIF_ICON 2#define NIF_TIP 4#if _WIN32_IE >= 0x0500#define NIF_STATE 8#define NIF_INFO 16#define NIS_HIDDEN 1#define NIS_SHAREDICON 2#define NIIF_NONE 0#define NIIF_INFO 1#define NIIF_WARNING 2#define NIIF_ERROR 3#define NIIF_USER 4#if _WIN32_IE >= 0x0600#define NIF_GUID 32#define NIIF_ICON_MASK 0xf#define NIIF_NOSOUND 0x10#endif /* _WIN32_IE >= 0x0600 */#endif /* _WIN32_IE >= 0x0500 */
#define SE_ERR_FNF 2#define SE_ERR_PNF 3#define SE_ERR_ACCESSDENIED 5#define SE_ERR_OOM 8#define SE_ERR_DLLNOTFOUND 32#define SE_ERR_SHARE 26#define SE_ERR_ASSOCINCOMPLETE 27#define SE_ERR_DDETIMEOUT 28#define SE_ERR_DDEFAIL 29#define SE_ERR_DDEBUSY 30#define SE_ERR_NOASSOC 31#define FO_MOVE 1#define FO_COPY 2#define FO_DELETE 3#define FO_RENAME 4
#define FOF_MULTIDESTFILES 0x0001#define FOF_CONFIRMMOUSE 0x0002#define FOF_SILENT 0x0004#define FOF_RENAMEONCOLLISION 0x0008#define FOF_NOCONFIRMATION 0x0010#define FOF_WANTMAPPINGHANDLE 0x0020#define FOF_ALLOWUNDO 0x0040#define FOF_FILESONLY 0x0080#define FOF_SIMPLEPROGRESS 0x0100#define FOF_NOCONFIRMMKDIR 0x0200#define FOF_NOERRORUI 0x0400#define FOF_NOCOPYSECURITYATTRIBS 0x0800#define FOF_NORECURSION 0x1000 /* don't do recursion into directories */#define FOF_NO_CONNECTED_ELEMENTS 0x2000 /* don't do connected files */#define FOF_WANTNUKEWARNING 0x4000 /* during delete operation, warn if delete instead of recycling (even if FOF_NOCONFIRMATION) */#define FOF_NORECURSEREPARSE 0x8000 /* don't do recursion into reparse points */
#define PO_DELETE 19#define PO_RENAME 20#define PO_PORTCHANGE 32#define PO_REN_PORT 52#define SHGFI_ADDOVERLAYS 32#define SHGFI_OVERLAYINDEX 64#define SHGFI_ICON 256#define SHGSI_ICON SHGFI_ICON#define SHGFI_DISPLAYNAME 512#define SHGFI_TYPENAME 1024#define SHGFI_ATTRIBUTES 2048#define SHGFI_ICONLOCATION 4096#define SHGFI_EXETYPE 8192#define SHGFI_SYSICONINDEX 16384#define SHGFI_LINKOVERLAY 32768#define SHGFI_SELECTED 65536#define SHGFI_ATTR_SPECIFIED 131072#define SHGFI_LARGEICON 0#define SHGFI_SMALLICON 1#define SHGSI_SMALLICON SHGFI_SMALLICON#define SHGFI_OPENICON 2#define SHGFI_SHELLICONSIZE 4#define SHGFI_PIDL 8#define SHGFI_USEFILEATTRIBUTES 16
#if (NTDDI_VERSION >= NTDDI_WINXP)#define SHIL_LARGE 0x0#define SHIL_SMALL 0x1#define SHIL_EXTRALARGE 0x2#define SHIL_SYSSMALL 0x3#if (NTDDI_VERSION >= NTDDI_VISTA)#define SHIL_JUMBO 0x4#define SHIL_LAST SHIL_JUMBO#else#define SHIL_LAST SHIL_SYSSMALL#endif#endif
typedef struct _SHCREATEPROCESSINFOW{ DWORD cbSize; ULONG fMask; HWND hwnd; LPCWSTR pszFile; LPCWSTR pszParameters; LPCWSTR pszCurrentDirectory; IN HANDLE hUserToken; IN LPSECURITY_ATTRIBUTES lpProcessAttributes; IN LPSECURITY_ATTRIBUTES lpThreadAttributes; IN BOOL bInheritHandles; IN DWORD dwCreationFlags; IN LPSTARTUPINFOW lpStartupInfo; OUT LPPROCESS_INFORMATION lpProcessInformation;} SHCREATEPROCESSINFOW, *PSHCREATEPROCESSINFOW;
typedef WORD FILEOP_FLAGS;typedef WORD PRINTEROP_FLAGS;
typedef struct _AppBarData { DWORD cbSize; HWND hWnd; UINT uCallbackMessage; UINT uEdge; RECT rc; LPARAM lParam;} APPBARDATA,*PAPPBARDATA;DECLARE_HANDLE(HDROP);
typedef struct _NOTIFYICONDATAA { DWORD cbSize; HWND hWnd; UINT uID; UINT uFlags; UINT uCallbackMessage; HICON hIcon;#if (NTDDI_VERSION < NTDDI_WIN2K) CHAR szTip[64];#endif#if (NTDDI_VERSION >= NTDDI_WIN2K) CHAR szTip[128]; DWORD dwState; DWORD dwStateMask; CHAR szInfo[256]; _ANONYMOUS_UNION union { UINT uTimeout; UINT uVersion; } DUMMYUNIONNAME; CHAR szInfoTitle[64]; DWORD dwInfoFlags;#endif#if (NTDDI_VERSION >= NTDDI_WINXP) GUID guidItem;#endif#if (NTDDI_VERSION >= NTDDI_VISTA) HICON hBalloonIcon;#endif} NOTIFYICONDATAA,*PNOTIFYICONDATAA;
typedef struct _NOTIFYICONDATAW { DWORD cbSize; HWND hWnd; UINT uID; UINT uFlags; UINT uCallbackMessage; HICON hIcon;#if (NTDDI_VERSION < NTDDI_WIN2K) WCHAR szTip[64];#endif#if (NTDDI_VERSION >= NTDDI_WIN2K) WCHAR szTip[128]; DWORD dwState; DWORD dwStateMask; WCHAR szInfo[256]; _ANONYMOUS_UNION union { UINT uTimeout; UINT uVersion; } DUMMYUNIONNAME; WCHAR szInfoTitle[64]; DWORD dwInfoFlags;#endif#if (NTDDI_VERSION >= NTDDI_WINXP) GUID guidItem;#endif#if (NTDDI_VERSION >= NTDDI_VISTA) HICON hBalloonIcon;#endif} NOTIFYICONDATAW,*PNOTIFYICONDATAW;
#define NOTIFYICONDATAA_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAA, szTip[64])#define NOTIFYICONDATAW_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAW, szTip[64])#define NOTIFYICONDATAA_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAA, guidItem)#define NOTIFYICONDATAW_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAW, guidItem)#define NOTIFYICONDATAA_V3_SIZE FIELD_OFFSET(NOTIFYICONDATAA, hBalloonIcon)#define NOTIFYICONDATAW_V3_SIZE FIELD_OFFSET(NOTIFYICONDATAW, hBalloonIcon)
#if WINVER >= 0x400typedef struct _DRAGINFOA { UINT uSize; POINT pt; BOOL fNC; LPSTR lpFileList; DWORD grfKeyState;} DRAGINFOA,*LPDRAGINFOA;typedef struct _DRAGINFOW { UINT uSize; POINT pt; BOOL fNC; LPWSTR lpFileList; DWORD grfKeyState;} DRAGINFOW,*LPDRAGINFOW;#endif
typedef struct _SHELLEXECUTEINFOA { DWORD cbSize; ULONG fMask; HWND hwnd; LPCSTR lpVerb; LPCSTR lpFile; LPCSTR lpParameters; LPCSTR lpDirectory; int nShow; HINSTANCE hInstApp; /* Optional fields */ PVOID lpIDList; LPCSTR lpClass; HKEY hkeyClass; DWORD dwHotKey; _ANONYMOUS_UNION union { HANDLE hIcon;#if (NTDDI_VERSION >= NTDDI_WIN2K) HANDLE hMonitor;#endif } DUMMYUNIONNAME; HANDLE hProcess;} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA;typedef struct _SHELLEXECUTEINFOW { DWORD cbSize; ULONG fMask; HWND hwnd; LPCWSTR lpVerb; LPCWSTR lpFile; LPCWSTR lpParameters; LPCWSTR lpDirectory; int nShow; HINSTANCE hInstApp; /* Optional fields */ PVOID lpIDList; LPCWSTR lpClass; HKEY hkeyClass; DWORD dwHotKey; _ANONYMOUS_UNION union { HANDLE hIcon;#if (NTDDI_VERSION >= NTDDI_WIN2K) HANDLE hMonitor;#endif } DUMMYUNIONNAME; HANDLE hProcess;} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW;typedef struct _SHFILEOPSTRUCTA { HWND hwnd; UINT wFunc; LPCSTR pFrom; LPCSTR pTo; FILEOP_FLAGS fFlags; BOOL fAnyOperationsAborted; PVOID hNameMappings; LPCSTR lpszProgressTitle;} SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA;typedef struct _SHFILEOPSTRUCTW { HWND hwnd; UINT wFunc; LPCWSTR pFrom; LPCWSTR pTo; FILEOP_FLAGS fFlags; BOOL fAnyOperationsAborted; PVOID hNameMappings; LPCWSTR lpszProgressTitle;} SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW;typedef struct _SHFILEINFOA { HICON hIcon; int iIcon; DWORD dwAttributes; CHAR szDisplayName[MAX_PATH]; CHAR szTypeName[80];} SHFILEINFOA;typedef struct _SHFILEINFOW { HICON hIcon; int iIcon; DWORD dwAttributes; WCHAR szDisplayName[MAX_PATH]; WCHAR szTypeName[80];} SHFILEINFOW;typedef struct _SHQUERYRBINFO { DWORD cbSize; __int64 i64Size; __int64 i64NumItems;} SHQUERYRBINFO, *LPSHQUERYRBINFO;typedef struct _SHNAMEMAPPINGA { LPSTR pszOldPath; LPSTR pszNewPath; int cchOldPath; int cchNewPath;} SHNAMEMAPPINGA, *LPSHNAMEMAPPINGA;typedef struct _SHNAMEMAPPINGW { LPWSTR pszOldPath; LPWSTR pszNewPath; int cchOldPath; int cchNewPath;} SHNAMEMAPPINGW, *LPSHNAMEMAPPINGW;
#define SHERB_NOCONFIRMATION 0x1#define SHERB_NOPROGRESSUI 0x2#define SHERB_NOSOUND 0x4
/****************************************** * Links */
#define SHGNLI_PIDL 0x01#define SHGNLI_PREFIXNAME 0x02#define SHGNLI_NOUNIQUE 0x04#define SHGNLI_NOLNK 0x08
LPWSTR * WINAPI CommandLineToArgvW(_In_ LPCWSTR, _Out_ int*);void WINAPI DragAcceptFiles(_In_ HWND, _In_ BOOL);void WINAPI DragFinish(_In_ HDROP);
_Success_(return != 0)UINTWINAPIDragQueryFileA( _In_ HDROP hDrop, _In_ UINT iFile, _Out_writes_opt_(cch) LPSTR lpszFile, _In_ UINT cch);
_Success_(return != 0)UINTWINAPIDragQueryFileW( _In_ HDROP hDrop, _In_ UINT iFile, _Out_writes_opt_(cch) LPWSTR lpszFile, _In_ UINT cch);
BOOL WINAPI DragQueryPoint(_In_ HDROP, _Out_ LPPOINT);
HICONWINAPIExtractAssociatedIconA( _Reserved_ HINSTANCE hInst, _Inout_updates_(128) LPSTR pszIconPath, _Inout_ WORD *piIcon);
HICONWINAPIExtractAssociatedIconW( _Reserved_ HINSTANCE hInst, _Inout_updates_(128) LPWSTR pszIconPath, _Inout_ WORD *piIcon);
HICONWINAPIExtractIconA( _Reserved_ HINSTANCE hInst, _In_ LPCSTR pszExeFileName, UINT nIconIndex);
HICONWINAPIExtractIconW( _Reserved_ HINSTANCE hInst, _In_ LPCWSTR pszExeFileName, UINT nIconIndex);
UINTWINAPIExtractIconExA( _In_ LPCSTR lpszFile, _In_ int nIconIndex, _Out_writes_opt_(nIcons) HICON *phiconLarge, _Out_writes_opt_(nIcons) HICON *phiconSmall, _In_ UINT nIcons);
UINTWINAPIExtractIconExW( _In_ LPCWSTR lpszFile, _In_ int nIconIndex, _Out_writes_opt_(nIcons) HICON *phiconLarge, _Out_writes_opt_(nIcons) HICON *phiconSmall, _In_ UINT nIcons);
_Success_(return > 32)HINSTANCEWINAPIFindExecutableA( _In_ LPCSTR lpFile, _In_opt_ LPCSTR lpDirectory, _Out_writes_(MAX_PATH) LPSTR lpResult);
_Success_(return > 32)HINSTANCEWINAPIFindExecutableW( _In_ LPCWSTR lpFile, _In_opt_ LPCWSTR lpDirectory, _Out_writes_(MAX_PATH) LPWSTR lpResult);
UINT_PTRWINAPISHAppBarMessage( _In_ DWORD dwMessage, _Inout_ PAPPBARDATA pData);
BOOL WINAPI Shell_NotifyIconA(_In_ DWORD, _In_ PNOTIFYICONDATAA);BOOL WINAPI Shell_NotifyIconW(_In_ DWORD, _In_ PNOTIFYICONDATAW);
intWINAPIShellAboutA( _In_opt_ HWND hWnd, _In_ LPCSTR szApp, _In_opt_ LPCSTR szOtherStuff, _In_opt_ HICON hIcon);
intWINAPIShellAboutW( _In_opt_ HWND hWnd, _In_ LPCWSTR szApp, _In_opt_ LPCWSTR szOtherStuff, _In_opt_ HICON hIcon);
intWINAPIVShellMessageBoxA( _In_opt_ HINSTANCE hAppInst, _In_opt_ HWND hWnd, _In_ LPCSTR lpcText, _In_opt_ LPCSTR lpcTitle, _In_ UINT fuStyle, ...);
intWINAPIVShellMessageBoxW( _In_opt_ HINSTANCE hAppInst, _In_opt_ HWND hWnd, _In_ LPCWSTR lpcText, _In_opt_ LPCWSTR lpcTitle, _In_ UINT fuStyle, ...);
HINSTANCEWINAPIShellExecuteA( _In_opt_ HWND hwnd, _In_opt_ LPCSTR lpOperation, _In_ LPCSTR lpFile, _In_opt_ LPCSTR lpParameters, _In_opt_ LPCSTR lpDirectory, _In_ INT nShowCmd);
HINSTANCEWINAPIShellExecuteW( _In_opt_ HWND hwnd, _In_opt_ LPCWSTR lpOperation, _In_ LPCWSTR lpFile, _In_opt_ LPCWSTR lpParameters, _In_opt_ LPCWSTR lpDirectory, _In_ INT nShowCmd);
BOOL WINAPI ShellExecuteExA(_Inout_ LPSHELLEXECUTEINFOA);BOOL WINAPI ShellExecuteExW(_Inout_ LPSHELLEXECUTEINFOW);int WINAPI SHFileOperationA(_Inout_ LPSHFILEOPSTRUCTA);int WINAPI SHFileOperationW(_Inout_ LPSHFILEOPSTRUCTW);void WINAPI SHFreeNameMappings(_In_opt_ HANDLE);
DWORD_PTRWINAPISHGetFileInfoA( _In_ LPCSTR pszPath, DWORD dwFileAttributes, _Inout_updates_bytes_opt_(cbFileInfo) SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags);
DWORD_PTRWINAPISHGetFileInfoW( _In_ LPCWSTR pszPath, DWORD dwFileAttributes, _Inout_updates_bytes_opt_(cbFileInfo) SHFILEINFOW *psfi, UINT cbFileInfo, UINT uFlags);
_Success_(return != 0)BOOLWINAPISHGetNewLinkInfoA( _In_ LPCSTR pszLinkTo, _In_ LPCSTR pszDir, _Out_writes_(MAX_PATH) LPSTR pszName, _Out_ BOOL *pfMustCopy, _In_ UINT uFlags);
_Success_(return != 0)BOOLWINAPISHGetNewLinkInfoW( _In_ LPCWSTR pszLinkTo, _In_ LPCWSTR pszDir, _Out_writes_(MAX_PATH) LPWSTR pszName, _Out_ BOOL *pfMustCopy, _In_ UINT uFlags);
HRESULTWINAPISHQueryRecycleBinA( _In_opt_ LPCSTR pszRootPath, _Inout_ LPSHQUERYRBINFO pSHQueryRBInfo);
HRESULTWINAPISHQueryRecycleBinW( _In_opt_ LPCWSTR pszRootPath, _Inout_ LPSHQUERYRBINFO pSHQueryRBInfo);
HRESULTWINAPISHEmptyRecycleBinA( _In_opt_ HWND hwnd, _In_opt_ LPCSTR pszRootPath, DWORD dwFlags);
HRESULTWINAPISHEmptyRecycleBinW( _In_opt_ HWND hwnd, _In_opt_ LPCWSTR pszRootPath, DWORD dwFlags);
BOOL WINAPI SHCreateProcessAsUserW(_Inout_ PSHCREATEPROCESSINFOW);
DWORDWINAPIDoEnvironmentSubstA( _Inout_updates_(cchSrc) LPSTR pszSrc, UINT cchSrc);
DWORDWINAPIDoEnvironmentSubstW( _Inout_updates_(cchSrc) LPWSTR pszSrc, UINT cchSrc);
HRESULT WINAPISHSetUnreadMailCountW( _In_ PCWSTR pszMailAddress, _In_ DWORD dwCount, _In_ PCWSTR pszShellExecuteCommand);
#if (_WIN32_IE >= 0x0601)BOOLWINAPISHTestTokenMembership( _In_opt_ HANDLE hToken, _In_ ULONG ulRID);#endif
HRESULT WINAPISHEnumerateUnreadMailAccountsW( _In_opt_ HKEY hKeyUser, _In_ DWORD dwIndex, _Out_writes_(cchMailAddress) PWSTR pszMailAddress, _In_ INT cchMailAddress);
HRESULT WINAPISHGetUnreadMailCountW( _In_opt_ HKEY hKeyUser, _In_opt_ PCWSTR pszMailAddress, _Out_opt_ PDWORD pdwCount, _Inout_opt_ PFILETIME pFileTime, _Out_writes_opt_(cchShellExecuteCommand) PWSTR pszShellExecuteCommand, _In_ INT cchShellExecuteCommand);
#ifdef UNICODE#define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAW_V1_SIZE#define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAW_V2_SIZE#define NOTIFYICONDATA_V3_SIZE NOTIFYICONDATAW_V3_SIZEtypedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA;typedef DRAGINFOW DRAGINFO,*LPDRAGINFO;typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;typedef SHFILEINFOW SHFILEINFO;typedef SHNAMEMAPPINGW SHNAMEMAPPING;typedef LPSHNAMEMAPPINGW LPSHNAMEMAPPING;#define DragQueryFile DragQueryFileW#define ExtractAssociatedIcon ExtractAssociatedIconW#define ExtractIcon ExtractIconW#define ExtractIconEx ExtractIconExW#define FindExecutable FindExecutableW#define Shell_NotifyIcon Shell_NotifyIconW#define ShellAbout ShellAboutW#define ShellExecute ShellExecuteW#define ShellExecuteEx ShellExecuteExW#define ShellMessageBox ShellMessageBoxW#define SHFileOperation SHFileOperationW#define SHGetFileInfo SHGetFileInfoW#define SHQueryRecycleBin SHQueryRecycleBinW#define SHEmptyRecycleBin SHEmptyRecycleBinW#define SHGetNewLinkInfo SHGetNewLinkInfoW#define DoEnvironmentSubst DoEnvironmentSubstW
#else#define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAA_V1_SIZE#define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAA_V2_SIZE#define NOTIFYICONDATA_V3_SIZE NOTIFYICONDATAA_V3_SIZEtypedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA;typedef DRAGINFOA DRAGINFO,*LPDRAGINFO;typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;typedef SHFILEINFOA SHFILEINFO;typedef SHNAMEMAPPINGA SHNAMEMAPPING;typedef LPSHNAMEMAPPINGA LPSHNAMEMAPPING;#define DragQueryFile DragQueryFileA#define ExtractAssociatedIcon ExtractAssociatedIconA#define ExtractIcon ExtractIconA#define ExtractIconEx ExtractIconExA#define FindExecutable FindExecutableA#define Shell_NotifyIcon Shell_NotifyIconA#define ShellAbout ShellAboutA#define ShellExecute ShellExecuteA#define ShellExecuteEx ShellExecuteExA#define ShellMessageBox ShellMessageBoxA#define SHFileOperation SHFileOperationA#define SHGetFileInfo SHGetFileInfoA#define SHQueryRecycleBin SHQueryRecycleBinA#define SHEmptyRecycleBin SHEmptyRecycleBinA#define SHGetNewLinkInfo SHGetNewLinkInfoA#define DoEnvironmentSubst DoEnvironmentSubstA#endif
#if (NTDDI_VERSION >= NTDDI_VISTA)
typedef struct _SHSTOCKICONINFO { DWORD cbSize; HICON hIcon; int iSysImageIndex; int iIcon; WCHAR szPath[MAX_PATH];} SHSTOCKICONINFO;
#define SHGSI_ICONLOCATION 0
typedef enum SHSTOCKICONID{ SIID_INVALID=-1, SIID_DOCNOASSOC, SIID_DOCASSOC, SIID_APPLICATION, SIID_FOLDER, SIID_FOLDEROPEN, SIID_DRIVE525, SIID_DRIVE35, SIID_DRIVERREMOVE, SIID_DRIVERFIXED, SIID_DRIVERNET, SIID_DRIVERNETDISABLE, SIID_DRIVERCD, SIID_DRIVERRAM, SIID_WORLD, /* Missing: 14 */ SIID_SERVER = 15, SIID_PRINTER, SIID_MYNETWORK, /* Missing: 18 - 21 */ SIID_FIND = 22, SIID_HELP, /* Missing: 24 - 27 */ SIID_SHARE = 28, SIID_LINK, SIID_SLOWFILE, SIID_RECYCLER, SIID_RECYCLERFULL, /* Missing: 33 - 39 */ SIID_MEDIACDAUDIO = 40, /* Missing: 41 - 46 */ SIID_LOCK = 47, /* Missing: 48 */ SIID_AUTOLIST = 49, SIID_PRINTERNET, SIID_SERVERSHARE, SIID_PRINTERFAX, SIID_PRINTERFAXNET, SIID_PRINTERFILE, SIID_STACK, SIID_MEDIASVCD, SIID_STUFFEDFOLDER, SIID_DRIVEUNKNOWN, SIID_DRIVEDVD, SIID_MEDIADVD, SIID_MEDIADVDRAM, SIID_MEDIADVDRW, SIID_MEDIADVDR, SIID_MEDIADVDROM, SIID_MEDIACDAUDIOPLUS, SIID_MEDIACDRW, SIID_MEDIACDR, SIID_MEDIACDBURN, SIID_MEDIABLANKCD, SIID_MEDIACDROM, SIID_AUDIOFILES, SIID_IMAGEFILES, SIID_VIDEOFILES, SIID_MIXEDFILES, SIID_FOLDERBACK, SIID_FOLDERFRONT, SIID_SHIELD, SIID_WARNING, SIID_INFO, SIID_ERROR, SIID_KEY, SIID_SOFTWARE, SIID_RENAME, SIID_DELETE, SIID_MEDIAAUDIODVD, SIID_MEDIAMOVIEDVD, SIID_MEDIAENHANCEDCD, SIID_MEDIAENHANCEDDVD, SIID_MEDIAHDDVD, SIID_MEDIABLUERAY, SIID_MEDIAVCD, SIID_MEDIADVDPLUSR, SIID_MEDIADVDPLUSRW, SIID_DESKTOPPC, SIID_MOBILEPC, SIID_USERS, SIID_MEDIASMARTMEDIA, SIID_MEDIACOMPACTFLASH, SIID_DEVICECELLPHONE, SIID_DEVICECAMERA, SIID_DEVICEVIDEOCAMERA, SIID_DEVICEAUDIOPLAYER, SIID_NETWORKCONNECT, SIID_INTERNET, SIID_ZIPFILE, SIID_SETTINGS, /* Missing: 107 - 131 */ SIID_DRIVEHDDVD = 132, SIID_DRIVEBD, SIID_MEDIAHDDVDROM, SIID_MEDIAHDDVDR, SIID_MEDIAHDDVDRAM, SIID_MEDIABDROM, SIID_MEDIABDR, SIID_MEDIABDRE, SIID_CLUSTEREDDRIVE, /* Missing: 141 - 174 */ SIID_MAX_ICONS = 175} SHSTOCKICONID;
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
#if !defined(_WIN64)#include <poppack.h>#endif
#ifdef _MSC_VER#pragma warning(pop)#endif#ifdef __cplusplus}#endif#endif