File Annotation

Not logged in
c2b7a98c21 2011-02-23        kinaba: module win32.shellapi;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // Translated from Microsoft Platform SDK August 2001 Edition
c2b7a98c21 2011-02-23        kinaba: // by Y.Tomino
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: import win32.windef;
c2b7a98c21 2011-02-23        kinaba: import win32.winbase;
c2b7a98c21 2011-02-23        kinaba: import win32.winuser;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef _INC_SHELLAPI
c2b7a98c21 2011-02-23        kinaba: // #define _INC_SHELLAPI
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef WINSHELLAPI
c2b7a98c21 2011-02-23        kinaba: // #if !defined(_SHELL32_)
c2b7a98c21 2011-02-23        kinaba: // #define WINSHELLAPI DECLSPEC_IMPORT
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: // #endif // WINSHELLAPI
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef SHSTDAPI
c2b7a98c21 2011-02-23        kinaba: // #if !defined(_SHELL32_)
c2b7a98c21 2011-02-23        kinaba: // #define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
c2b7a98c21 2011-02-23        kinaba: // #define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: // #endif // SHSTDAPI
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef SHDOCAPI
c2b7a98c21 2011-02-23        kinaba: // #if !defined(_SHDOCVW_)
c2b7a98c21 2011-02-23        kinaba: // #define SHDOCAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
c2b7a98c21 2011-02-23        kinaba: // #define SHDOCAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: // #endif // SHDOCAPI
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if !defined(_WIN64)
c2b7a98c21 2011-02-23        kinaba: align(1):
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef __cplusplus
c2b7a98c21 2011-02-23        kinaba: // extern "C" {            /* Assume C declarations for C++ */
c2b7a98c21 2011-02-23        kinaba: // #endif  /* __cplusplus */
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias void* HDROP;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export UINT DragQueryFileA(HDROP,UINT,LPSTR,UINT);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export UINT DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias DragQueryFileW DragQueryFile;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL DragQueryPoint(HDROP,LPPOINT);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export void DragFinish(HDROP);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export void DragAcceptFiles(HWND,BOOL);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HINSTANCE ShellExecuteA(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HINSTANCE ShellExecuteW(HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias ShellExecuteW ShellExecute;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HINSTANCE FindExecutableA(LPCSTR lpFile, LPCSTR lpDirectory, LPSTR lpResult);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HINSTANCE FindExecutableW(LPCWSTR lpFile, LPCWSTR lpDirectory, LPWSTR lpResult);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias FindExecutableW FindExecutable;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export LPWSTR * CommandLineToArgvW(LPCWSTR lpCmdLine, int*pNumArgs);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export INT ShellAboutA(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export INT ShellAboutW(HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff, HICON hIcon);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias ShellAboutW ShellAbout;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HICON DuplicateIcon(HINSTANCE hInst, HICON hIcon);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HICON ExtractAssociatedIconA(HINSTANCE hInst, LPSTR lpIconPath, LPWORD lpiIcon);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HICON ExtractAssociatedIconW(HINSTANCE hInst, LPWSTR lpIconPath, LPWORD lpiIcon);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias ExtractAssociatedIconW ExtractAssociatedIcon;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HICON ExtractIconA(HINSTANCE hInst, LPCSTR lpszExeFileName, UINT nIconIndex);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HICON ExtractIconW(HINSTANCE hInst, LPCWSTR lpszExeFileName, UINT nIconIndex);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias ExtractIconW ExtractIcon;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if(WINVER >= 0x0400)
c2b7a98c21 2011-02-23        kinaba: struct _DRAGINFOA {
c2b7a98c21 2011-02-23        kinaba:   UINT uSize;
c2b7a98c21 2011-02-23        kinaba:   POINT pt;
c2b7a98c21 2011-02-23        kinaba:   BOOL fNC;
c2b7a98c21 2011-02-23        kinaba:   LPSTR lpFileList;
c2b7a98c21 2011-02-23        kinaba:   DWORD grfKeyState;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _DRAGINFOA DRAGINFOA;
c2b7a98c21 2011-02-23        kinaba: alias _DRAGINFOA* LPDRAGINFOA;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _DRAGINFOW {
c2b7a98c21 2011-02-23        kinaba:   UINT uSize;
c2b7a98c21 2011-02-23        kinaba:   POINT pt;
c2b7a98c21 2011-02-23        kinaba:   BOOL fNC;
c2b7a98c21 2011-02-23        kinaba:   LPWSTR lpFileList;
c2b7a98c21 2011-02-23        kinaba:   DWORD grfKeyState;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _DRAGINFOW DRAGINFOW;
c2b7a98c21 2011-02-23        kinaba: alias _DRAGINFOW* LPDRAGINFOW;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias DRAGINFOW DRAGINFO;
c2b7a98c21 2011-02-23        kinaba: alias LPDRAGINFOW LPDRAGINFO;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #endif // UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_NEW = 0x00000000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_REMOVE = 0x00000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_QUERYPOS = 0x00000002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_SETPOS = 0x00000003 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_GETSTATE = 0x00000004 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_GETTASKBARPOS = 0x00000005 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_ACTIVATE = 0x00000006 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_GETAUTOHIDEBAR = 0x00000007 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_SETAUTOHIDEBAR = 0x00000008 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_WINDOWPOSCHANGED = 0x0000009 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABM_SETSTATE = 0x0000000a }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABN_STATECHANGE = 0x0000000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABN_POSCHANGED = 0x0000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABN_FULLSCREENAPP = 0x0000002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABN_WINDOWARRANGE = 0x0000003 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABS_AUTOHIDE = 0x0000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABS_ALWAYSONTOP = 0x0000002 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABE_LEFT = 0 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABE_TOP = 1 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABE_RIGHT = 2 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { ABE_BOTTOM = 3 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _AppBarData {
c2b7a98c21 2011-02-23        kinaba:   DWORD cbSize;
c2b7a98c21 2011-02-23        kinaba:   HWND hWnd;
c2b7a98c21 2011-02-23        kinaba:   UINT uCallbackMessage;
c2b7a98c21 2011-02-23        kinaba:   UINT uEdge;
c2b7a98c21 2011-02-23        kinaba:   RECT rc;
c2b7a98c21 2011-02-23        kinaba:   LPARAM lParam;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _AppBarData APPBARDATA;
c2b7a98c21 2011-02-23        kinaba: alias _AppBarData* PAPPBARDATA;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export UINT_PTR SHAppBarMessage(DWORD dwMessage, PAPPBARDATA pData);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export DWORD DoEnvironmentSubstA(LPSTR szString, UINT cchString);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export DWORD DoEnvironmentSubstW(LPWSTR szString, UINT cchString);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias DoEnvironmentSubstW DoEnvironmentSubst;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define EIRESID(x) (-1 * (int)(x))
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export UINT ExtractIconExA(LPCSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export UINT ExtractIconExW(LPCWSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias ExtractIconExW ExtractIconEx;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef FO_MOVE //these need to be kept in sync with the ones in shlobj.h
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { FO_MOVE = 0x0001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FO_COPY = 0x0002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FO_DELETE = 0x0003 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FO_RENAME = 0x0004 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_MULTIDESTFILES = 0x0001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_CONFIRMMOUSE = 0x0002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_SILENT = 0x0004 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_RENAMEONCOLLISION = 0x0008 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_NOCONFIRMATION = 0x0010 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_WANTMAPPINGHANDLE = 0x0020 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_ALLOWUNDO = 0x0040 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_FILESONLY = 0x0080 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_SIMPLEPROGRESS = 0x0100 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_NOCONFIRMMKDIR = 0x0200 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_NOERRORUI = 0x0400 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_NOCOPYSECURITYATTRIBS = 0x0800 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_NORECURSION = 0x1000 }
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0500)
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_NO_CONNECTED_ELEMENTS = 0x2000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_WANTNUKEWARNING = 0x4000 }
c2b7a98c21 2011-02-23        kinaba: // #endif // (_WIN32_IE >= 0x500)
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_WINNT >= 0x0501)
c2b7a98c21 2011-02-23        kinaba: enum : uint { FOF_NORECURSEREPARSE = 0x8000 }
c2b7a98c21 2011-02-23        kinaba: // #endif // (_WIN32_WINNT >= 0x501)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias WORD FILEOP_FLAGS;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { PO_DELETE = 0x0013 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { PO_RENAME = 0x0014 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { PO_PORTCHANGE = 0x0020 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { PO_REN_PORT = 0x0034 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias WORD PRINTEROP_FLAGS;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif // FO_MOVE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _SHFILEOPSTRUCTA {
c2b7a98c21 2011-02-23        kinaba:   HWND hwnd;
c2b7a98c21 2011-02-23        kinaba:   UINT wFunc;
c2b7a98c21 2011-02-23        kinaba:   LPCSTR pFrom;
c2b7a98c21 2011-02-23        kinaba:   LPCSTR pTo;
c2b7a98c21 2011-02-23        kinaba:   FILEOP_FLAGS fFlags;
c2b7a98c21 2011-02-23        kinaba:   BOOL fAnyOperationsAborted;
c2b7a98c21 2011-02-23        kinaba:   LPVOID hNameMappings;
c2b7a98c21 2011-02-23        kinaba:   LPCSTR lpszProgressTitle;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _SHFILEOPSTRUCTA SHFILEOPSTRUCTA;
c2b7a98c21 2011-02-23        kinaba: alias _SHFILEOPSTRUCTA* LPSHFILEOPSTRUCTA;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _SHFILEOPSTRUCTW {
c2b7a98c21 2011-02-23        kinaba:   HWND hwnd;
c2b7a98c21 2011-02-23        kinaba:   UINT wFunc;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR pFrom;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR pTo;
c2b7a98c21 2011-02-23        kinaba:   FILEOP_FLAGS fFlags;
c2b7a98c21 2011-02-23        kinaba:   BOOL fAnyOperationsAborted;
c2b7a98c21 2011-02-23        kinaba:   LPVOID hNameMappings;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR lpszProgressTitle;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _SHFILEOPSTRUCTW SHFILEOPSTRUCTW;
c2b7a98c21 2011-02-23        kinaba: alias _SHFILEOPSTRUCTW* LPSHFILEOPSTRUCTW;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHFILEOPSTRUCTW SHFILEOPSTRUCT;
c2b7a98c21 2011-02-23        kinaba: alias LPSHFILEOPSTRUCTW LPSHFILEOPSTRUCT;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #endif // UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export int SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHFileOperationW SHFileOperation;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export void SHFreeNameMappings(HANDLE hNameMappings);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _SHNAMEMAPPINGA {
c2b7a98c21 2011-02-23        kinaba:   LPSTR pszOldPath;
c2b7a98c21 2011-02-23        kinaba:   LPSTR pszNewPath;
c2b7a98c21 2011-02-23        kinaba:   int cchOldPath;
c2b7a98c21 2011-02-23        kinaba:   int cchNewPath;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _SHNAMEMAPPINGA SHNAMEMAPPINGA;
c2b7a98c21 2011-02-23        kinaba: alias _SHNAMEMAPPINGA* LPSHNAMEMAPPINGA;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _SHNAMEMAPPINGW {
c2b7a98c21 2011-02-23        kinaba:   LPWSTR pszOldPath;
c2b7a98c21 2011-02-23        kinaba:   LPWSTR pszNewPath;
c2b7a98c21 2011-02-23        kinaba:   int cchOldPath;
c2b7a98c21 2011-02-23        kinaba:   int cchNewPath;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _SHNAMEMAPPINGW SHNAMEMAPPINGW;
c2b7a98c21 2011-02-23        kinaba: alias _SHNAMEMAPPINGW* LPSHNAMEMAPPINGW;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHNAMEMAPPINGW SHNAMEMAPPING;
c2b7a98c21 2011-02-23        kinaba: alias LPSHNAMEMAPPINGW LPSHNAMEMAPPING;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #endif // UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_FNF = 2 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_PNF = 3 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_ACCESSDENIED = 5 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_OOM = 8 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_DLLNOTFOUND = 32 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif /* WINVER >= 0x0400 */
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_SHARE = 26 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_ASSOCINCOMPLETE = 27 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_DDETIMEOUT = 28 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_DDEFAIL = 29 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_DDEBUSY = 30 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SE_ERR_NOASSOC = 31 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if(WINVER >= 0x0400)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_CLASSNAME = 0x00000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_CLASSKEY = 0x00000003 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_IDLIST = 0x00000004 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_INVOKEIDLIST = 0x0000000c }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_ICON = 0x00000010 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_HOTKEY = 0x00000020 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_NOCLOSEPROCESS = 0x00000040 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_CONNECTNETDRV = 0x00000080 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_FLAG_DDEWAIT = 0x00000100 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_DOENVSUBST = 0x00000200 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_FLAG_NO_UI = 0x00000400 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_UNICODE = 0x00004000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_NO_CONSOLE = 0x00008000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_ASYNCOK = 0x00100000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_HMONITOR = 0x00200000 }
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0500)
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_NOQUERYCLASSSTORE = 0x01000000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_WAITFORINPUTIDLE = 0x02000000 }
c2b7a98c21 2011-02-23        kinaba: // #endif // (_WIN32_IE >= 0x500)
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0560)
c2b7a98c21 2011-02-23        kinaba: enum : uint { SEE_MASK_FLAG_LOG_USAGE = 0x04000000 }
c2b7a98c21 2011-02-23        kinaba: // #endif // (_WIN32_IE >= 0x560)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef DUMMYUNIONNAME
c2b7a98c21 2011-02-23        kinaba: // #ifdef NONAMELESSUNION
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #define DUMMYUNIONNAME
c2b7a98c21 2011-02-23        kinaba: // #define DUMMYUNIONNAME2
c2b7a98c21 2011-02-23        kinaba: // #define DUMMYUNIONNAME3
c2b7a98c21 2011-02-23        kinaba: // #define DUMMYUNIONNAME4
c2b7a98c21 2011-02-23        kinaba: // #define DUMMYUNIONNAME5
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: // #endif // DUMMYUNIONNAME
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _SHELLEXECUTEINFOA {
c2b7a98c21 2011-02-23        kinaba:   DWORD cbSize;
c2b7a98c21 2011-02-23        kinaba:   ULONG fMask;
c2b7a98c21 2011-02-23        kinaba:   HWND hwnd;
c2b7a98c21 2011-02-23        kinaba:   LPCSTR lpVerb;
c2b7a98c21 2011-02-23        kinaba:   LPCSTR lpFile;
c2b7a98c21 2011-02-23        kinaba:   LPCSTR lpParameters;
c2b7a98c21 2011-02-23        kinaba:   LPCSTR lpDirectory;
c2b7a98c21 2011-02-23        kinaba:   int nShow;
c2b7a98c21 2011-02-23        kinaba:   HINSTANCE hInstApp;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba:   LPVOID lpIDList;
c2b7a98c21 2011-02-23        kinaba:   LPCSTR lpClass;
c2b7a98c21 2011-02-23        kinaba:   HKEY hkeyClass;
c2b7a98c21 2011-02-23        kinaba:   DWORD dwHotKey;
c2b7a98c21 2011-02-23        kinaba: union {
c2b7a98c21 2011-02-23        kinaba:   HANDLE hIcon;
c2b7a98c21 2011-02-23        kinaba:   HANDLE hMonitor;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba:   HANDLE hProcess;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _SHELLEXECUTEINFOA SHELLEXECUTEINFOA;
c2b7a98c21 2011-02-23        kinaba: alias _SHELLEXECUTEINFOA* LPSHELLEXECUTEINFOA;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _SHELLEXECUTEINFOW {
c2b7a98c21 2011-02-23        kinaba:   DWORD cbSize;
c2b7a98c21 2011-02-23        kinaba:   ULONG fMask;
c2b7a98c21 2011-02-23        kinaba:   HWND hwnd;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR lpVerb;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR lpFile;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR lpParameters;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR lpDirectory;
c2b7a98c21 2011-02-23        kinaba:   int nShow;
c2b7a98c21 2011-02-23        kinaba:   HINSTANCE hInstApp;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba:   LPVOID lpIDList;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR lpClass;
c2b7a98c21 2011-02-23        kinaba:   HKEY hkeyClass;
c2b7a98c21 2011-02-23        kinaba:   DWORD dwHotKey;
c2b7a98c21 2011-02-23        kinaba: union {
c2b7a98c21 2011-02-23        kinaba:   HANDLE hIcon;
c2b7a98c21 2011-02-23        kinaba:   HANDLE hMonitor;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba:   HANDLE hProcess;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _SHELLEXECUTEINFOW SHELLEXECUTEINFOW;
c2b7a98c21 2011-02-23        kinaba: alias _SHELLEXECUTEINFOW* LPSHELLEXECUTEINFOW;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHELLEXECUTEINFOW SHELLEXECUTEINFO;
c2b7a98c21 2011-02-23        kinaba: alias LPSHELLEXECUTEINFOW LPSHELLEXECUTEINFO;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #endif // UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias ShellExecuteExW ShellExecuteEx;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export void WinExecErrorA(HWND hwnd, int error, LPCSTR lpstrFileName, LPCSTR lpstrTitle);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export void WinExecErrorW(HWND hwnd, int error, LPCWSTR lpstrFileName, LPCWSTR lpstrTitle);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias WinExecErrorW WinExecError;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _SHCREATEPROCESSINFOW {
c2b7a98c21 2011-02-23        kinaba:   DWORD cbSize;
c2b7a98c21 2011-02-23        kinaba:   ULONG fMask;
c2b7a98c21 2011-02-23        kinaba:   HWND hwnd;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR pszFile;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR pszParameters;
c2b7a98c21 2011-02-23        kinaba:   LPCWSTR pszCurrentDirectory;
c2b7a98c21 2011-02-23        kinaba:   HANDLE hUserToken;
c2b7a98c21 2011-02-23        kinaba:   LPSECURITY_ATTRIBUTES lpProcessAttributes;
c2b7a98c21 2011-02-23        kinaba:   LPSECURITY_ATTRIBUTES lpThreadAttributes;
c2b7a98c21 2011-02-23        kinaba:   BOOL bInheritHandles;
c2b7a98c21 2011-02-23        kinaba:   DWORD dwCreationFlags;
c2b7a98c21 2011-02-23        kinaba:   LPSTARTUPINFOW lpStartupInfo;
c2b7a98c21 2011-02-23        kinaba:   LPPROCESS_INFORMATION lpProcessInformation;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _SHCREATEPROCESSINFOW SHCREATEPROCESSINFOW;
c2b7a98c21 2011-02-23        kinaba: alias _SHCREATEPROCESSINFOW* PSHCREATEPROCESSINFOW;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL SHCreateProcessAsUserW(PSHCREATEPROCESSINFOW pscpi);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _SHQUERYRBINFO {
c2b7a98c21 2011-02-23        kinaba:   DWORD cbSize;
c2b7a98c21 2011-02-23        kinaba: // #if !defined(_MAC) || defined(_MAC_INT_64)
c2b7a98c21 2011-02-23        kinaba:   __int64 i64Size;
c2b7a98c21 2011-02-23        kinaba:   __int64 i64NumItems;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _SHQUERYRBINFO SHQUERYRBINFO;
c2b7a98c21 2011-02-23        kinaba: alias _SHQUERYRBINFO* LPSHQUERYRBINFO;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHERB_NOCONFIRMATION = 0x00000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHERB_NOPROGRESSUI = 0x00000002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHERB_NOSOUND = 0x00000004 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHQueryRecycleBinA(LPCSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHQueryRecycleBinW(LPCWSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHQueryRecycleBinW SHQueryRecycleBin;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHEmptyRecycleBinA(HWND hwnd, LPCSTR pszRootPath, DWORD dwFlags);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHEmptyRecycleBinW(HWND hwnd, LPCWSTR pszRootPath, DWORD dwFlags);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHEmptyRecycleBinW SHEmptyRecycleBin;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _NOTIFYICONDATAA {
c2b7a98c21 2011-02-23        kinaba:   DWORD cbSize;
c2b7a98c21 2011-02-23        kinaba:   HWND hWnd;
c2b7a98c21 2011-02-23        kinaba:   UINT uID;
c2b7a98c21 2011-02-23        kinaba:   UINT uFlags;
c2b7a98c21 2011-02-23        kinaba:   UINT uCallbackMessage;
c2b7a98c21 2011-02-23        kinaba:   HICON hIcon;
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE < 0x0500)
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba:   CHAR szTip[128];
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0500)
c2b7a98c21 2011-02-23        kinaba:   DWORD dwState;
c2b7a98c21 2011-02-23        kinaba:   DWORD dwStateMask;
c2b7a98c21 2011-02-23        kinaba:   CHAR szInfo[256];
c2b7a98c21 2011-02-23        kinaba: union {
c2b7a98c21 2011-02-23        kinaba:   UINT uTimeout;
c2b7a98c21 2011-02-23        kinaba:   UINT uVersion;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba:   CHAR szInfoTitle[64];
c2b7a98c21 2011-02-23        kinaba:   DWORD dwInfoFlags;
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x600)
c2b7a98c21 2011-02-23        kinaba:   GUID guidItem;
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _NOTIFYICONDATAA NOTIFYICONDATAA;
c2b7a98c21 2011-02-23        kinaba: alias _NOTIFYICONDATAA* PNOTIFYICONDATAA;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _NOTIFYICONDATAW {
c2b7a98c21 2011-02-23        kinaba:   DWORD cbSize;
c2b7a98c21 2011-02-23        kinaba:   HWND hWnd;
c2b7a98c21 2011-02-23        kinaba:   UINT uID;
c2b7a98c21 2011-02-23        kinaba:   UINT uFlags;
c2b7a98c21 2011-02-23        kinaba:   UINT uCallbackMessage;
c2b7a98c21 2011-02-23        kinaba:   HICON hIcon;
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE < 0x0500)
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba:   WCHAR szTip[128];
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0500)
c2b7a98c21 2011-02-23        kinaba:   DWORD dwState;
c2b7a98c21 2011-02-23        kinaba:   DWORD dwStateMask;
c2b7a98c21 2011-02-23        kinaba:   WCHAR szInfo[256];
c2b7a98c21 2011-02-23        kinaba: union {
c2b7a98c21 2011-02-23        kinaba:   UINT uTimeout;
c2b7a98c21 2011-02-23        kinaba:   UINT uVersion;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba:   WCHAR szInfoTitle[64];
c2b7a98c21 2011-02-23        kinaba:   DWORD dwInfoFlags;
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x600)
c2b7a98c21 2011-02-23        kinaba:   GUID guidItem;
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _NOTIFYICONDATAW NOTIFYICONDATAW;
c2b7a98c21 2011-02-23        kinaba: alias _NOTIFYICONDATAW* PNOTIFYICONDATAW;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias NOTIFYICONDATAW NOTIFYICONDATA;
c2b7a98c21 2011-02-23        kinaba: alias PNOTIFYICONDATAW PNOTIFYICONDATA;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #endif // UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define NOTIFYICONDATAA_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAA, szTip[64])
c2b7a98c21 2011-02-23        kinaba: // #define NOTIFYICONDATAW_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAW, szTip[64])
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: // #define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAW_V1_SIZE
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #define NOTIFYICONDATAA_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAA, guidItem)
c2b7a98c21 2011-02-23        kinaba: // #define NOTIFYICONDATAW_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAW, guidItem)
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: // #define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAW_V2_SIZE
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0500)
c2b7a98c21 2011-02-23        kinaba: const uint NIN_SELECT = WM_USER + 0;
c2b7a98c21 2011-02-23        kinaba: enum : uint { NINF_KEY = 0x1 }
c2b7a98c21 2011-02-23        kinaba: const uint NIN_KEYSELECT = NIN_SELECT | NINF_KEY;
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0501)
c2b7a98c21 2011-02-23        kinaba: const uint NIN_BALLOONSHOW = WM_USER + 2;
c2b7a98c21 2011-02-23        kinaba: const uint NIN_BALLOONHIDE = WM_USER + 3;
c2b7a98c21 2011-02-23        kinaba: const uint NIN_BALLOONTIMEOUT = WM_USER + 4;
c2b7a98c21 2011-02-23        kinaba: const uint NIN_BALLOONUSERCLICK = WM_USER + 5;
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIM_ADD = 0x00000000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIM_MODIFY = 0x00000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIM_DELETE = 0x00000002 }
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0500)
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIM_SETFOCUS = 0x00000003 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIM_SETVERSION = 0x00000004 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NOTIFYICON_VERSION = 3 }
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIF_MESSAGE = 0x00000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIF_ICON = 0x00000002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIF_TIP = 0x00000004 }
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0500)
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIF_STATE = 0x00000008 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIF_INFO = 0x00000010 }
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x600)
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIF_GUID = 0x00000020 }
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0500)
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIS_HIDDEN = 0x00000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIS_SHAREDICON = 0x00000002 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIIF_NONE = 0x00000000 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIIF_INFO = 0x00000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIIF_WARNING = 0x00000002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIIF_ERROR = 0x00000003 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIIF_ICON_MASK = 0x0000000F }
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0501)
c2b7a98c21 2011-02-23        kinaba: enum : uint { NIIF_NOSOUND = 0x00000010 }
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias Shell_NotifyIconW Shell_NotifyIcon;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifndef SHFILEINFO_DEFINED
c2b7a98c21 2011-02-23        kinaba: // #define SHFILEINFO_DEFINED
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _SHFILEINFOA {
c2b7a98c21 2011-02-23        kinaba:   HICON hIcon;
c2b7a98c21 2011-02-23        kinaba:   int iIcon;
c2b7a98c21 2011-02-23        kinaba:   DWORD dwAttributes;
c2b7a98c21 2011-02-23        kinaba:   CHAR szDisplayName[MAX_PATH];
c2b7a98c21 2011-02-23        kinaba:   CHAR szTypeName[80];
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _SHFILEINFOA SHFILEINFOA;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: struct _SHFILEINFOW {
c2b7a98c21 2011-02-23        kinaba:   HICON hIcon;
c2b7a98c21 2011-02-23        kinaba:   int iIcon;
c2b7a98c21 2011-02-23        kinaba:   DWORD dwAttributes;
c2b7a98c21 2011-02-23        kinaba:   WCHAR szDisplayName[MAX_PATH];
c2b7a98c21 2011-02-23        kinaba:   WCHAR szTypeName[80];
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: alias _SHFILEINFOW SHFILEINFOW;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHFILEINFOW SHFILEINFO;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // ...
c2b7a98c21 2011-02-23        kinaba: // #endif // UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif // !SHFILEINFO_DEFINED
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_ICON = 0x000000100 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_DISPLAYNAME = 0x000000200 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_TYPENAME = 0x000000400 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_ATTRIBUTES = 0x000000800 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_ICONLOCATION = 0x000001000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_EXETYPE = 0x000002000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_SYSICONINDEX = 0x000004000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_LINKOVERLAY = 0x000008000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_SELECTED = 0x000010000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_ATTR_SPECIFIED = 0x000020000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_LARGEICON = 0x000000000 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_SMALLICON = 0x000000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_OPENICON = 0x000000002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_SHELLICONSIZE = 0x000000004 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_PIDL = 0x000000008 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_USEFILEATTRIBUTES = 0x000000010 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0500)
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_ADDOVERLAYS = 0x000000020 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGFI_OVERLAYINDEX = 0x000000040 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export DWORD_PTR SHGetFileInfoA(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export DWORD_PTR SHGetFileInfoW(LPCWSTR pszPath, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT cbFileInfo, UINT uFlags);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHGetFileInfoW SHGetFileInfo;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias SHGetDiskFreeSpaceEx SHGetDiskFreeSpace;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL SHGetDiskFreeSpaceExA(LPCSTR pszDirectoryName, ULARGE_INTEGER* pulFreeBytesAvailableToCaller, ULARGE_INTEGER* pulTotalNumberOfBytes, ULARGE_INTEGER* pulTotalNumberOfFreeBytes);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL SHGetDiskFreeSpaceExW(LPCWSTR pszDirectoryName, ULARGE_INTEGER* pulFreeBytesAvailableToCaller, ULARGE_INTEGER* pulTotalNumberOfBytes, ULARGE_INTEGER* pulTotalNumberOfFreeBytes);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHGetDiskFreeSpaceExW SHGetDiskFreeSpaceEx;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL SHGetNewLinkInfoA(LPCSTR pszLinkTo, LPCSTR pszDir, LPSTR pszName, BOOL *pfMustCopy, UINT uFlags);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHGetNewLinkInfoW SHGetNewLinkInfo;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGNLI_PIDL = 0x000000001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGNLI_PREFIXNAME = 0x000000002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGNLI_NOUNIQUE = 0x000000004 }
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_IE >= 0x0501)
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHGNLI_NOLNK = 0x000000008 }
c2b7a98c21 2011-02-23        kinaba: // #endif // _WIN2_IE >= 0x0501
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { PRINTACTION_OPEN = 0 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { PRINTACTION_PROPERTIES = 1 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { PRINTACTION_NETINSTALL = 2 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { PRINTACTION_NETINSTALLLINK = 3 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { PRINTACTION_TESTPAGE = 4 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { PRINTACTION_OPENNETPRN = 5 }
c2b7a98c21 2011-02-23        kinaba: // #ifdef WINNT
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL SHInvokePrinterCommandA(HWND hwnd, UINT uAction, LPCSTR lpBuf1, LPCSTR lpBuf2, BOOL fModal);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export BOOL SHInvokePrinterCommandW(HWND hwnd, UINT uAction, LPCWSTR lpBuf1, LPCWSTR lpBuf2, BOOL fModal);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHInvokePrinterCommandW SHInvokePrinterCommand;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif /* WINVER >= 0x0400 */
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0500)
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHLoadNonloadedIconOverlayIdentifiers();
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHIsFileAvailableOffline(LPCWSTR pwszPath, LPDWORD pdwStatus);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { OFFLINE_STATUS_LOCAL = 0x0001 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { OFFLINE_STATUS_REMOTE = 0x0002 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { OFFLINE_STATUS_INCOMPLETE = 0x0004 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHSetLocalizedName(LPWSTR pszPath, LPCWSTR pszResModule, int idsRes);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if         _WIN32_IE >= 0x0600
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHEnumerateUnreadMailAccountsA(HKEY hKeyUser, DWORD dwIndex, LPSTR pszMailAddress, int cchMailAddress);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHEnumerateUnreadMailAccountsW(HKEY hKeyUser, DWORD dwIndex, LPWSTR pszMailAddress, int cchMailAddress);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHEnumerateUnreadMailAccountsW SHEnumerateUnreadMailAccounts;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHGetUnreadMailCountA(HKEY hKeyUser, LPCSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPSTR pszShellExecuteCommand, int cchShellExecuteCommand);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHGetUnreadMailCountW(HKEY hKeyUser, LPCWSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPWSTR pszShellExecuteCommand, int cchShellExecuteCommand);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHGetUnreadMailCountW SHGetUnreadMailCount;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHSetUnreadMailCountA(LPCSTR pszMailAddress, DWORD dwCount, LPCSTR pszShellExecuteCommand);
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHSetUnreadMailCountW(LPCWSTR pszMailAddress, DWORD dwCount, LPCWSTR pszShellExecuteCommand);
c2b7a98c21 2011-02-23        kinaba: // #ifdef UNICODE
c2b7a98c21 2011-02-23        kinaba: alias SHSetUnreadMailCountW SHSetUnreadMailCount;
c2b7a98c21 2011-02-23        kinaba: // #else
c2b7a98c21 2011-02-23        kinaba: // #...
c2b7a98c21 2011-02-23        kinaba: // #endif // !UNICODE
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif  /*  _WIN32_IE >= 0x0600     */
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if         _WIN32_IE >= 0x0600
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) export HRESULT SHGetImageList(int iImageList, REFIID riid, void **ppvObj);
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHIL_LARGE = 0 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHIL_SMALL = 1 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHIL_EXTRALARGE = 2 }
c2b7a98c21 2011-02-23        kinaba: enum : uint { SHIL_SYSSMALL = 3 }
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: alias SHIL_SYSSMALL SHIL_LAST;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: extern(Windows) alias HRESULT function( LPCWSTR pszPath) PFNCANSHAREFOLDERW;
c2b7a98c21 2011-02-23        kinaba: extern(Windows) alias HRESULT function( HWND hwndParent,  LPCWSTR pszPath) PFNSHOWSHAREFOLDERUIW;
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif  /*  _WIN32_IE >= 0x0600     */
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #ifdef __cplusplus
c2b7a98c21 2011-02-23        kinaba: // }
c2b7a98c21 2011-02-23        kinaba: // #endif  /* __cplusplus */
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #if !defined(_WIN64)
c2b7a98c21 2011-02-23        kinaba: align:
c2b7a98c21 2011-02-23        kinaba: // #endif
c2b7a98c21 2011-02-23        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // #endif  /* _INC_SHELLAPI */
c2b7a98c21 2011-02-23        kinaba: