+++ /dev/null
-#ifndef _SHLOBJ_H
-#define _SHLOBJ_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ole2.h>
-#include <shlguid.h>
-#include <shellapi.h>
-#include <shtypes.h>
-#include <commctrl.h>
-
-#pragma pack(push,1)
-
-#define BIF_RETURNONLYFSDIRS 1
-#define BIF_DONTGOBELOWDOMAIN 2
-#define BIF_STATUSTEXT 4
-#define BIF_RETURNFSANCESTORS 8
-#define BIF_EDITBOX 16
-#define BIF_VALIDATE 32
-#define BIF_NEWDIALOGSTYLE 64
-#define BIF_BROWSEINCLUDEURLS 128
-#define BIF_USENEWUI ( BIF_EDITBOX | BIF_NEWDIALOGSTYLE )
-#define BIF_BROWSEFORCOMPUTER 0x1000
-#define BIF_BROWSEFORPRINTER 0x2000
-#define BIF_BROWSEINCLUDEFILES 0x4000
-#define BIF_SHAREABLE 0x8000
-#define BFFM_INITIALIZED 1
-#define BFFM_SELCHANGED 2
-#define BFFM_VALIDATEFAILEDA 3
-#define BFFM_VALIDATEFAILEDW 4
-#define BFFM_SETSTATUSTEXTA (WM_USER + 100)
-#define BFFM_SETSTATUSTEXTW (WM_USER + 104)
-#define BFFM_ENABLEOK (WM_USER + 101)
-#define BFFM_SETSELECTIONA (WM_USER + 102)
-#define BFFM_SETSELECTIONW (WM_USER + 103)
-#define BFFM_SETOKTEXT (WM_USER + 105)
-#define BFFM_SETEXPANDED (WM_USER + 106)
-#ifdef UNICODE
-#define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTW
-#define BFFM_SETSELECTION BFFM_SETSELECTIONW
-#define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDW
-#else
-#define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTA
-#define BFFM_SETSELECTION BFFM_SETSELECTIONA
-#define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDA
-#endif
-#define DVASPECT_SHORTNAME 2
-#define SHARD_PIDL 1
-#define SHARD_PATHA 2
-#define SHARD_PATHW 3
-#ifdef UNICODE
-#define SHARD_PATH SHARD_PATHW
-#else
-#define SHARD_PATH SHARD_PATHA
-#endif
-#define SHCNE_RENAMEITEM 1
-#define SHCNE_CREATE 2
-#define SHCNE_DELETE 4
-#define SHCNE_MKDIR 8
-#define SHCNE_RMDIR 16
-#define SHCNE_MEDIAINSERTED 32
-#define SHCNE_MEDIAREMOVED 64
-#define SHCNE_DRIVEREMOVED 128
-#define SHCNE_DRIVEADD 256
-#define SHCNE_NETSHARE 512
-#define SHCNE_NETUNSHARE 1024
-#define SHCNE_ATTRIBUTES 2048
-#define SHCNE_UPDATEDIR 4096
-#define SHCNE_UPDATEITEM 8192
-#define SHCNE_SERVERDISCONNECT 16384
-#define SHCNE_UPDATEIMAGE 32768
-#define SHCNE_DRIVEADDGUI 65536
-#define SHCNE_RENAMEFOLDER 0x20000
-#define SHCNE_FREESPACE 0x40000
-#define SHCNE_ASSOCCHANGED 0x8000000
-#define SHCNE_DISKEVENTS 0x2381F
-#define SHCNE_GLOBALEVENTS 0xC0581E0
-#define SHCNE_ALLEVENTS 0x7FFFFFFF
-#define SHCNE_INTERRUPT 0x80000000
-#define SHCNF_IDLIST 0
-#define SHCNF_PATHA 1
-#define SHCNF_PRINTERA 2
-#define SHCNF_DWORD 3
-#define SHCNF_PATHW 5
-#define SHCNF_PRINTERW 6
-#define SHCNF_TYPE 0xFF
-#define SHCNF_FLUSH 0x1000
-#define SHCNF_FLUSHNOWAIT 0x2000
-#ifdef UNICODE
-#define SHCNF_PATH SHCNF_PATHW
-#define SHCNF_PRINTER SHCNF_PRINTERW
-#else
-#define SHCNF_PATH SHCNF_PATHA
-#define SHCNF_PRINTER SHCNF_PRINTERA
-#endif
-#define SFGAO_CANCOPY DROPEFFECT_COPY
-#define SFGAO_CANMOVE DROPEFFECT_MOVE
-#define SFGAO_CANLINK DROPEFFECT_LINK
-#define SFGAO_STORAGE 0x00000008L
-#define SFGAO_CANRENAME 0x00000010L
-#define SFGAO_CANDELETE 0x00000020L
-#define SFGAO_HASPROPSHEET 0x00000040L
-#define SFGAO_DROPTARGET 0x00000100L
-#define SFGAO_CAPABILITYMASK 0x00000177L
-#define SFGAO_ISSLOW 0x00004000L
-#define SFGAO_GHOSTED 0x00008000L
-#define SFGAO_LINK 0x00010000L
-#define SFGAO_SHARE 0x00020000L
-#define SFGAO_READONLY 0x00040000L
-#define SFGAO_HIDDEN 0x00080000L
-#define SFGAO_DISPLAYATTRMASK 0x000F0000L
-#define SFGAO_FILESYSANCESTOR 0x10000000L
-#define SFGAO_FOLDER 0x20000000L
-#define SFGAO_FILESYSTEM 0x40000000L
-#define SFGAO_HASSUBFOLDER 0x80000000L
-#define SFGAO_CONTENTSMASK 0x80000000L
-#define SFGAO_VALIDATE 0x01000000L
-#define SFGAO_REMOVABLE 0x02000000L
-#define SFGAO_COMPRESSED 0x04000000L
-#define SFGAO_STORAGEANCESTOR 0x00800000L
-#define STRRET_WSTR 0
-#define STRRET_OFFSET 1
-#define STRRET_CSTR 2
-#define SHGDFIL_FINDDATA 1
-#define SHGDFIL_NETRESOURCE 2
-#define SHGDFIL_DESCRIPTIONID 3
-#define SHDID_ROOT_REGITEM 1
-#define SHDID_FS_FILE 2
-#define SHDID_FS_DIRECTORY 3
-#define SHDID_FS_OTHER 4
-#define SHDID_COMPUTER_DRIVE35 5
-#define SHDID_COMPUTER_DRIVE525 6
-#define SHDID_COMPUTER_REMOVABLE 7
-#define SHDID_COMPUTER_FIXED 8
-#define SHDID_COMPUTER_NETDRIVE 9
-#define SHDID_COMPUTER_CDROM 10
-#define SHDID_COMPUTER_RAMDISK 11
-#define SHDID_COMPUTER_OTHER 12
-#define SHDID_NET_DOMAIN 13
-#define SHDID_NET_SERVER 14
-#define SHDID_NET_SHARE 15
-#define SHDID_NET_RESTOFNET 16
-#define SHDID_NET_OTHER 17
-#ifndef REGSTR_PATH_EXPLORER
-#define REGSTR_PATH_EXPLORER TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer")
-#endif
-#define REGSTR_PATH_SPECIAL_FOLDERS REGSTR_PATH_EXPLORER TEXT("\\Shell Folders")
-
-#define CSIDL_DESKTOP 0x0000
-#define CSIDL_INTERNET 0x0001
-#define CSIDL_PROGRAMS 0x0002
-#define CSIDL_CONTROLS 0x0003
-#define CSIDL_PRINTERS 0x0004
-#define CSIDL_PERSONAL 0x0005
-#define CSIDL_FAVORITES 0x0006
-#define CSIDL_STARTUP 0x0007
-#define CSIDL_RECENT 0x0008
-#define CSIDL_SENDTO 0x0009
-#define CSIDL_BITBUCKET 0x000a
-#define CSIDL_STARTMENU 0x000b
-#define CSIDL_MYDOCUMENTS 0x000c
-#define CSIDL_MYMUSIC 0x000d
-#define CSIDL_MYVIDEO 0x000e
-#define CSIDL_DESKTOPDIRECTORY 0x0010
-#define CSIDL_DRIVES 0x0011
-#define CSIDL_NETWORK 0x0012
-#define CSIDL_NETHOOD 0x0013
-#define CSIDL_FONTS 0x0014
-#define CSIDL_TEMPLATES 0x0015
-#define CSIDL_COMMON_STARTMENU 0x0016
-#define CSIDL_COMMON_PROGRAMS 0X0017
-#define CSIDL_COMMON_STARTUP 0x0018
-#define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019
-#define CSIDL_APPDATA 0x001a
-#define CSIDL_PRINTHOOD 0x001b
-#define CSIDL_LOCAL_APPDATA 0x001c
-#define CSIDL_ALTSTARTUP 0x001d
-#define CSIDL_COMMON_ALTSTARTUP 0x001e
-#define CSIDL_COMMON_FAVORITES 0x001f
-#define CSIDL_INTERNET_CACHE 0x0020
-#define CSIDL_COOKIES 0x0021
-#define CSIDL_HISTORY 0x0022
-#define CSIDL_COMMON_APPDATA 0x0023
-#define CSIDL_WINDOWS 0x0024
-#define CSIDL_SYSTEM 0x0025
-#define CSIDL_PROGRAM_FILES 0x0026
-#define CSIDL_MYPICTURES 0x0027
-#define CSIDL_PROFILE 0x0028
-#define CSIDL_SYSTEMX86 0x0029
-#define CSIDL_PROGRAM_FILESX86 0x002a
-#define CSIDL_PROGRAM_FILES_COMMON 0x002b
-#define CSIDL_PROGRAM_FILES_COMMONX86 0x002c
-#define CSIDL_COMMON_TEMPLATES 0x002d
-#define CSIDL_COMMON_DOCUMENTS 0x002e
-#define CSIDL_COMMON_ADMINTOOLS 0x002f
-#define CSIDL_ADMINTOOLS 0x0030
-#define CSIDL_CONNECTIONS 0x0031
-#define CSIDL_COMMON_MUSIC 0x0035
-#define CSIDL_COMMON_PICTURES 0x0036
-#define CSIDL_COMMON_VIDEO 0x0037
-#define CSIDL_RESOURCES 0x0038
-#define CSIDL_RESOURCES_LOCALIZED 0x0039
-#define CSIDL_COMMON_OEM_LINKS 0x003a
-#define CSIDL_CDBURN_AREA 0x003b
-#define CSIDL_COMPUTERSNEARME 0x003d
-#define CSIDL_PROFILES 0x003e
-#define CSIDL_FOLDER_MASK 0x00ff
-#define CSIDL_FLAG_PER_USER_INIT 0x0800
-#define CSIDL_FLAG_NO_ALIAS 0x1000
-#define CSIDL_FLAG_DONT_VERIFY 0x4000
-#define CSIDL_FLAG_CREATE 0x8000
-#define CSIDL_FLAG_MASK 0xff00
-
-#define CFSTR_SHELLIDLIST TEXT("Shell IDList Array")
-#define CFSTR_SHELLIDLISTOFFSET TEXT("Shell Object Offsets")
-#define CFSTR_NETRESOURCES TEXT("Net Resource")
-#define CFSTR_FILECONTENTS TEXT("FileContents")
-#define CFSTR_FILENAMEA TEXT("FileName")
-#define CFSTR_FILENAMEMAPA TEXT("FileNameMap")
-#define CFSTR_FILEDESCRIPTORA TEXT("FileGroupDescriptor")
-#define CFSTR_INETURLA TEXT("UniformResourceLocator")
-#define CFSTR_SHELLURL CFSTR_INETURLA
-#define CFSTR_FILENAMEW TEXT("FileNameW")
-#define CFSTR_FILENAMEMAPW TEXT("FileNameMapW")
-#define CFSTR_FILEDESCRIPTORW TEXT("FileGroupDescriptorW")
-#define CFSTR_INETURLW TEXT("UniformResourceLocatorW")
-#ifdef UNICODE
-#define CFSTR_FILENAME CFSTR_FILENAMEW
-#define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPW
-#define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORW
-#define CFSTR_INETURL CFSTR_INETURLW
-#else
-#define CFSTR_FILENAME CFSTR_FILENAMEA
-#define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPA
-#define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORA
-#define CFSTR_INETURL CFSTR_INETURLA
-#endif
-#define CFSTR_PRINTERGROUP TEXT("PrinterFriendlyName")
-#define CFSTR_INDRAGLOOP TEXT("InShellDragLoop")
-#define CFSTR_PASTESUCCEEDED TEXT("Paste Succeeded")
-#define CFSTR_PERFORMEDDROPEFFECT TEXT("Performed DropEffect")
-#define CFSTR_PREFERREDDROPEFFECT TEXT("Preferred DropEffect")
-#define CMF_NORMAL 0
-#define CMF_DEFAULTONLY 1
-#define CMF_VERBSONLY 2
-#define CMF_EXPLORE 4
-#define CMF_NOVERBS 8
-#define CMF_CANRENAME 16
-#define CMF_NODEFAULT 32
-#define CMF_INCLUDESTATIC 64
-#define CMF_RESERVED 0xffff0000
-#define GCS_VERBA 0
-#define GCS_HELPTEXTA 1
-#define GCS_VALIDATEA 2
-#define GCS_VERBW 4
-#define GCS_HELPTEXTW 5
-#define GCS_VALIDATEW 6
-#define GCS_UNICODE 4
-#ifdef UNICODE
-#define GCS_VERB GCS_VERBW
-#define GCS_HELPTEXT GCS_HELPTEXTW
-#define GCS_VALIDATE GCS_VALIDATEW
-#else
-#define GCS_VERB GCS_VERBA
-#define GCS_HELPTEXT GCS_HELPTEXTA
-#define GCS_VALIDATE GCS_VALIDATEA
-#endif
-#define CMDSTR_NEWFOLDERA "NewFolder"
-#define CMDSTR_VIEWLISTA "ViewList"
-#define CMDSTR_VIEWDETAILSA "ViewDetails"
-#define CMDSTR_NEWFOLDERW L"NewFolder"
-#define CMDSTR_VIEWLISTW L"ViewList"
-#define CMDSTR_VIEWDETAILSW L"ViewDetails"
-#ifdef UNICODE
-#define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDERW
-#define CMDSTR_VIEWLIST CMDSTR_VIEWLISTW
-#define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILSW
-#else
-#define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDER
-#define CMDSTR_VIEWLIST CMDSTR_VIEWLIST
-#define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILS
-#endif
-#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
-#define CMIC_MASK_ICON SEE_MASK_ICON
-#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
-#define CMIC_MASK_UNICODE SEE_MASK_UNICODE
-#define CMIC_MASK_MODAL 0x80000000
-#define CMIC_VALID_SEE_FLAGS SEE_VALID_CMIC_FLAGS
-#define GIL_OPENICON 1
-#define GIL_FORSHELL 2
-#define GIL_ASYNC 32
-#define GIL_DEFAULTICON 64
-#define GIL_FORSHORTCUT 128
-#define GIL_SIMULATEDOC 1
-#define GIL_PERINSTANCE 2
-#define GIL_PERCLASS 4
-#define GIL_NOTFILENAME 8
-#define GIL_DONTCACHE 16
-#define FVSIF_RECT 1
-#define FVSIF_PINNED 2
-#define FVSIF_NEWFAILED 0x8000000
-#define FVSIF_NEWFILE 0x80000000
-#define FVSIF_CANVIEWIT 0x40000000
-#define CDBOSC_SETFOCUS 0
-#define CDBOSC_KILLFOCUS 1
-#define CDBOSC_SELCHANGE 2
-#define CDBOSC_RENAME 3
-#define FCIDM_SHVIEWFIRST 0
-#define FCIDM_SHVIEWLAST 0x7fff
-#define FCIDM_BROWSERFIRST 0xa000
-#define FCIDM_BROWSERLAST 0xbf00
-#define FCIDM_GLOBALFIRST 0x8000
-#define FCIDM_GLOBALLAST 0x9fff
-#define FCIDM_MENU_FILE FCIDM_GLOBALFIRST
-#define FCIDM_MENU_EDIT (FCIDM_GLOBALFIRST+0x0040)
-#define FCIDM_MENU_VIEW (FCIDM_GLOBALFIRST+0x0080)
-#define FCIDM_MENU_VIEW_SEP_OPTIONS (FCIDM_GLOBALFIRST+0x0081)
-#define FCIDM_MENU_TOOLS (FCIDM_GLOBALFIRST+0x00c0)
-#define FCIDM_MENU_TOOLS_SEP_GOTO (FCIDM_GLOBALFIRST+0x00c1)
-#define FCIDM_MENU_HELP (FCIDM_GLOBALFIRST+0x0100)
-#define FCIDM_MENU_FIND (FCIDM_GLOBALFIRST+0x0140)
-#define FCIDM_MENU_EXPLORE (FCIDM_GLOBALFIRST+0x0150)
-#define FCIDM_MENU_FAVORITES (FCIDM_GLOBALFIRST+0x0170)
-#define FCIDM_TOOLBAR FCIDM_BROWSERFIRST
-#define FCIDM_STATUS (FCIDM_BROWSERFIRST+1)
-#define SBSP_DEFBROWSER 0
-#define SBSP_SAMEBROWSER 1
-#define SBSP_NEWBROWSER 2
-#define SBSP_DEFMODE 0
-#define SBSP_OPENMODE 16
-#define SBSP_EXPLOREMODE 32
-#define SBSP_ABSOLUTE 0
-#define SBSP_HELPMODE 0x40
-#define SBSP_NOTRANSFERHIST 0x80
-#define SBSP_RELATIVE 0x1000
-#define SBSP_PARENT 0x2000
-#define SBSP_NAVIGATEBACK 0x4000
-#define SBSP_NAVIGATEFORWARD 0x8000
-#define SBSP_ALLOW_AUTONAVIGATE 0x10000
-#define SBSP_NOAUTOSELECT 0x4000000
-#define SBSP_WRITENOHISTORY 0x8000000
-#define SBSP_INITIATEDBYHLINKFRAME 0x80000000
-#define SBSP_REDIRECT 0x40000000
-#define FCW_STATUS 1
-#define FCW_TOOLBAR 2
-#define FCW_TREE 3
-#define FCT_MERGE 1
-#define FCT_CONFIGABLE 2
-#define FCT_ADDTOEND 4
-#define SVSI_DESELECT 0
-#define SVSI_SELECT 1
-#define SVSI_EDIT 3
-#define SVSI_DESELECTOTHERS 4
-#define SVSI_ENSUREVISIBLE 8
-#define SVSI_FOCUSED 16
-#define SVGIO_BACKGROUND 0
-#define SVGIO_SELECTION 1
-#define SVGIO_ALLVIEW 2
-#define SV2GV_CURRENTVIEW ((UINT)-1)
-#define SV2GV_DEFAULTVIEW ((UINT)-2)
-#define SHCNE_RENAMEITEM 0x00000001
-#define SHCNE_CREATE 0x00000002
-#define SHCNE_DELETE 0x00000004
-#define SHCNE_MKDIR 0x00000008
-#define SHCNE_RMDIR 0x00000010
-#define SHCNE_MEDIAINSERTED 0x00000020
-#define SHCNE_MEDIAREMOVED 0x00000040
-#define SHCNE_DRIVEREMOVED 0x00000080
-#define SHCNE_DRIVEADD 0x00000100
-#define SHCNE_NETSHARE 0x00000200
-#define SHCNE_NETUNSHARE 0x00000400
-#define SHCNE_ATTRIBUTES 0x00000800
-#define SHCNE_UPDATEDIR 0x00001000
-#define SHCNE_UPDATEITEM 0x00002000
-#define SHCNE_SERVERDISCONNECT 0x00004000
-#define SHCNE_UPDATEIMAGE 0x00008000
-#define SHCNE_DRIVEADDGUI 0x00010000
-#define SHCNE_RENAMEFOLDER 0x00020000
-#define SHCNE_FREESPACE 0x00040000
-#define SHCNE_EXTENDED_EVENT 0x04000000
-#define SHCNE_ASSOCCHANGED 0x08000000
-#define SHCNE_DISKEVENTS 0x0002381F
-#define SHCNE_GLOBALEVENTS 0x0C0581E0
-#define SHCNE_ALLEVENTS 0x7FFFFFFF
-#define SHCNE_INTERRUPT 0x80000000
-#define SHCNEE_ORDERCHANGED 0x0002L
-#define SHCNEE_MSI_CHANGE 0x0004L
-#define SHCNEE_MSI_UNINSTALL 0x0005L
-#define SHCNF_IDLIST 0x0000
-#define SHCNF_PATHA 0x0001
-#define SHCNF_PRINTERA 0x0002
-#define SHCNF_DWORD 0x0003
-#define SHCNF_PATHW 0x0005
-#define SHCNF_PRINTERW 0x0006
-#define SHCNF_TYPE 0x00FF
-#define SHCNF_FLUSH 0x1000
-#define SHCNF_FLUSHNOWAIT 0x2000
-#ifdef UNICODE
-#define SHCNF_PATH SHCNF_PATHW
-#define SHCNF_PRINTER SHCNF_PRINTERW
-#else
-#define SHCNF_PATH SHCNF_PATHA
-#define SHCNF_PRINTER SHCNF_PRINTERA
-#endif
-#define PCS_FATAL 0x80000000
-#define PCS_REPLACEDCHAR 0x00000001
-#define PCS_REMOVEDCHAR 0x00000002
-#define PCS_TRUNCATED 0x00000004
-#define PCS_PATHTOOLONG 0x00000008
-#define SHFMT_ERROR 0xFFFFFFFFL
-#define SHFMT_CANCEL 0xFFFFFFFEL
-#define SHFMT_NOFORMAT 0xFFFFFFFDL
-#define EXP_SZ_LINK_SIG 0xa0000001
-#define NT_CONSOLE_PROPS_SIG 0xa0000002
-#define NT_FE_CONSOLE_PROPS_SIG 0xa0000004
-#define EXP_SPECIAL_FOLDER_SIG 0xa0000005
-#define EXP_DARWIN_ID_SIG 0xa0000006
-#define EXP_LOGO3_ID_SIG 0xa0000007
-#define EXP_SZ_ICON_SIG 0xa0000007
-#define SHOP_PRINTERNAME 0x01
-#define SHOP_FILEPATH 0x02
-#define SHOP_VOLUMEGUID 0x04
-
-typedef ULONG SFGAOF;
-typedef DWORD SHGDNF;
-
-typedef struct _IDA {
- UINT cidl;
- UINT aoffset[1];
-} CIDA,*LPIDA;
-typedef int (CALLBACK* BFFCALLBACK)(HWND,UINT,LPARAM,LPARAM);
-typedef struct _browseinfoA {
- HWND hwndOwner;
- LPCITEMIDLIST pidlRoot;
- LPSTR pszDisplayName;
- LPCSTR lpszTitle;
- UINT ulFlags;
- BFFCALLBACK lpfn;
- LPARAM lParam;
- int iImage;
-} BROWSEINFOA,*PBROWSEINFOA,*LPBROWSEINFOA;
-typedef struct _browseinfoW {
- HWND hwndOwner;
- LPCITEMIDLIST pidlRoot;
- LPWSTR pszDisplayName;
- LPCWSTR lpszTitle;
- UINT ulFlags;
- BFFCALLBACK lpfn;
- LPARAM lParam;
- int iImage;
-} BROWSEINFOW,*PBROWSEINFOW,*LPBROWSEINFOW;
-typedef struct _CMInvokeCommandInfo {
- DWORD cbSize;
- DWORD fMask;
- HWND hwnd;
- LPCSTR lpVerb;
- LPCSTR lpParameters;
- LPCSTR lpDirectory;
- int nShow;
- DWORD dwHotKey;
- HANDLE hIcon;
-} CMINVOKECOMMANDINFO,*LPCMINVOKECOMMANDINFO;
-typedef struct _CMInvokeCommandInfoEx {
- DWORD cbSize;
- DWORD fMask;
- HWND hwnd;
- LPCSTR lpVerb;
- LPCSTR lpParameters;
- LPCSTR lpDirectory;
- INT nShow;
- DWORD dwHotKey;
- HANDLE hIcon;
- LPCSTR lpTitle;
- LPCWSTR lpVerbW;
- LPCWSTR lpParametersW;
- LPCWSTR lpDirectoryW;
- LPCWSTR lpTitleW;
- POINT ptInvoke;
-} CMINVOKECOMMANDINFOEX, *LPCMINVOKECOMMANDINFOEX;
-typedef struct _DROPFILES {
- DWORD pFiles;
- POINT pt;
- BOOL fNC;
- BOOL fWide;
-} DROPFILES,*LPDROPFILES;
-typedef enum tagSHGDN {
- SHGDN_NORMAL=0,
- SHGDN_INFOLDER,
- SHGDN_FOREDITING=0x1000,
- SHGDN_INCLUDE_NONFILESYS=0x2000,
- SHGDN_FORADDRESSBAR=0x4000,
- SHGDN_FORPARSING=0x8000
-} SHGNO;
-typedef enum {
- SHGFP_TYPE_CURRENT = 0,
- SHGFP_TYPE_DEFAULT = 1
-} SHGFP_TYPE;
-typedef enum tagSHCONTF {
- SHCONTF_FOLDERS = 32,
- SHCONTF_NONFOLDERS = 64,
- SHCONTF_INCLUDEHIDDEN = 128,
- SHCONTF_INIT_ON_FIRST_NEXT = 256,
- SHCONTF_NETPRINTERSRCH = 512,
- SHCONTF_SHAREABLE = 1024,
- SHCONTF_STORAGE = 2048
-} SHCONTF;
-typedef enum {
- FD_CLSID=1,FD_SIZEPOINT=2,FD_ATTRIBUTES=4,FD_CREATETIME=8,FD_ACCESSTIME=16,
- FD_WRITESTIME=32,FD_FILESIZE=64,FD_LINKUI=0x8000
-} FD_FLAGS;
-typedef struct _FILEDESCRIPTOR {
- DWORD dwFlags;
- CLSID clsid;
- SIZEL sizel;
- POINTL pointl;
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- CHAR cFileName[MAX_PATH];
-} FILEDESCRIPTOR,*LPFILEDESCRIPTOR;
-typedef struct _FILEGROUPDESCRIPTOR {
- UINT cItems;
- FILEDESCRIPTOR fgd[1];
-} FILEGROUPDESCRIPTOR,*LPFILEGROUPDESCRIPTOR;
-typedef enum {
- SLR_NO_UI=1,
- SLR_ANY_MATCH=2,
- SLR_UPDATE=4,
- SLR_NOUPDATE=8,
- SLR_NOSEARCH=16,
- SLR_NOTRACK=32,
- SLR_NOLINKINFO=64,
- SLR_INVOKE_MSI=128
-} SLR_FLAGS;
-typedef enum {
- SLGP_SHORTPATH=0x1,
- SLGP_UNCPRIORITY=0x2,
- SLGP_RAWPATH=0x4
-} SLGP_FLAGS;
-typedef PBYTE LPVIEWSETTINGS;
-typedef enum {
- FWF_AUTOARRANGE=1,FWF_ABBREVIATEDNAMES=2,FWF_SNAPTOGRID=4,FWF_OWNERDATA=8,
- FWF_BESTFITWINDOW=16,FWF_DESKTOP=32,FWF_SINGLESEL=64,FWF_NOSUBFOLDERS=128,
- FWF_TRANSPARENT=256,FWF_NOCLIENTEDGE=512,FWF_NOSCROLL=0x400,FWF_ALIGNLEFT=0x800,
- FWF_SINGLECLICKACTIVATE=0x8000
-} FOLDERFLAGS;
-typedef enum {
- FVM_ICON=1,
- FVM_SMALLICON,
- FVM_LIST,
- FVM_DETAILS
-} FOLDERVIEWMODE;
-typedef struct {
- UINT ViewMode;
- UINT fFlags;
-} FOLDERSETTINGS,*LPFOLDERSETTINGS;
-typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
-typedef struct {
- DWORD cbSize;
- HWND hwndOwner;
- int iShow;
- DWORD dwFlags;
- RECT rect;
- LPUNKNOWN punkRel;
- OLECHAR strNewFile[MAX_PATH];
-} FVSHOWINFO,*LPFVSHOWINFO;
-typedef struct _NRESARRAY {
- UINT cItems;
- NETRESOURCE nr[1];
-} NRESARRAY, *LPNRESARRAY;
-enum { SBSC_HIDE,SBSC_SHOW,SBSC_TOGGLE,SBSC_QUERY };
-enum {
- SBCMDID_ENABLESHOWTREE,SBCMDID_SHOWCONTROL,SBCMDID_CANCELNAVIGATION,
- SBCMDID_MAYSAVECHANGES,SBCMDID_SETHLINKFRAME,SBCMDID_ENABLESTOP,SBCMDID_OPTIONS
-};
-typedef enum {
- SVUIA_DEACTIVATE,SVUIA_ACTIVATE_NOFOCUS,SVUIA_ACTIVATE_FOCUS,
- SVUIA_INPLACEACTIVATE
-} SVUIA_STATUS;
-#if (_WIN32_IE >= 0x0500)
-typedef struct tagEXTRASEARCH
-{
- GUID guidSearch;
- WCHAR wszFriendlyName[80];
- WCHAR wszUrl[2084];
-} EXTRASEARCH, *LPEXTRASEARCH;
-typedef DWORD SHCOLSTATEF;
-typedef struct
-{
- GUID fmtid;
- DWORD pid;
-} SHCOLUMNID, *LPSHCOLUMNID;
-typedef const SHCOLUMNID *LPCSHCOLUMNID;
-typedef struct
-{
- LPITEMIDLIST pidlTargetFolder;
- WCHAR szTargetParsingName[MAX_PATH];
- WCHAR szNetworkProvider[MAX_PATH];
- DWORD dwAttributes;
- int csidl;
-} PERSIST_FOLDER_TARGET_INFO;
-#endif
-typedef struct _SHChangeNotifyEntry
-{
- LPCITEMIDLIST pidl;
- BOOL fRecursive;
-} SHChangeNotifyEntry;
-#define NUM_POINTS 3
-typedef struct
-{
- int iNextSample;
- DWORD dwLastScroll;
- BOOL bFull;
- POINT pts[NUM_POINTS];
- DWORD dwTimes[NUM_POINTS];
-} AUTO_SCROLL_DATA;
-typedef struct
-{
- WORD cLength;
- WORD nVersion;
- BOOL fFullPathTitle:1;
- BOOL fSaveLocalView:1;
- BOOL fNotShell:1;
- BOOL fSimpleDefault:1;
- BOOL fDontShowDescBar:1;
- BOOL fNewWindowMode:1;
- BOOL fShowCompColor:1;
- BOOL fDontPrettyNames:1;
- BOOL fAdminsCreateCommonGroups:1;
- UINT fUnusedFlags:7;
- UINT fMenuEnumFilter;
-} CABINETSTATE, *LPCABINETSTATE;
-typedef enum RESTRICTIONS
-{
- REST_NONE = 0x00000000,
- REST_NORUN = 0x00000001,
- REST_NOCLOSE = 0x00000002,
- REST_NOSAVESET = 0x00000004,
- REST_NOFILEMENU = 0x00000008,
- REST_NOSETFOLDERS = 0x00000010,
- REST_NOSETTASKBAR = 0x00000020,
- REST_NODESKTOP = 0x00000040,
- REST_NOFIND = 0x00000080,
- REST_NODRIVES = 0x00000100,
- REST_NODRIVEAUTORUN = 0x00000200,
- REST_NODRIVETYPEAUTORUN = 0x00000400,
- REST_NONETHOOD = 0x00000800,
- REST_STARTBANNER = 0x00001000,
- REST_RESTRICTRUN = 0x00002000,
- REST_NOPRINTERTABS = 0x00004000,
- REST_NOPRINTERDELETE = 0x00008000,
- REST_NOPRINTERADD = 0x00010000,
- REST_NOSTARTMENUSUBFOLDERS = 0x00020000,
- REST_MYDOCSONNET = 0x00040000,
- REST_NOEXITTODOS = 0x00080000,
- REST_ENFORCESHELLEXTSECURITY = 0x00100000,
- REST_LINKRESOLVEIGNORELINKINFO = 0x00200000,
- REST_NOCOMMONGROUPS = 0x00400000,
- REST_SEPARATEDESKTOPPROCESS = 0x00800000,
- REST_NOWEB = 0x01000000,
- REST_NOTRAYCONTEXTMENU = 0x02000000,
- REST_NOVIEWCONTEXTMENU = 0x04000000,
- REST_NONETCONNECTDISCONNECT = 0x08000000,
- REST_STARTMENULOGOFF = 0x10000000,
- REST_NOSETTINGSASSIST = 0x20000000,
- REST_NOINTERNETICON = 0x40000001,
- REST_NORECENTDOCSHISTORY,
- REST_NORECENTDOCSMENU,
- REST_NOACTIVEDESKTOP,
- REST_NOACTIVEDESKTOPCHANGES,
- REST_NOFAVORITESMENU,
- REST_CLEARRECENTDOCSONEXIT,
- REST_CLASSICSHELL,
- REST_NOCUSTOMIZEWEBVIEW,
-
- REST_NOHTMLWALLPAPER = 0x40000010,
- REST_NOCHANGINGWALLPAPER,
- REST_NODESKCOMP,
- REST_NOADDDESKCOMP,
- REST_NODELDESKCOMP,
- REST_NOCLOSEDESKCOMP,
- REST_NOCLOSE_DRAGDROPBAND,
- REST_NOMOVINGBAND,
- REST_NOEDITDESKCOMP,
- REST_NORESOLVESEARCH,
- REST_NORESOLVETRACK,
- REST_FORCECOPYACLWITHFILE,
- REST_NOLOGO3CHANNELNOTIFY,
- REST_NOFORGETSOFTWAREUPDATE,
- REST_NOSETACTIVEDESKTOP,
- REST_NOUPDATEWINDOWS,
- REST_NOCHANGESTARMENU, /* 0x40000020 */
- REST_NOFOLDEROPTIONS,
- REST_HASFINDCOMPUTERS,
- REST_INTELLIMENUS,
- REST_RUNDLGMEMCHECKBOX,
- REST_ARP_ShowPostSetup,
- REST_NOCSC,
- REST_NOCONTROLPANEL,
- REST_ENUMWORKGROUP,
- REST_ARP_NOARP,
- REST_ARP_NOREMOVEPAGE,
- REST_ARP_NOADDPAGE,
- REST_ARP_NOWINSETUPPAGE,
- REST_GREYMSIADS,
- REST_NOCHANGEMAPPEDDRIVELABEL,
- REST_NOCHANGEMAPPEDDRIVECOMMENT,
- REST_MaxRecentDocs, /* 0x40000030 */
- REST_NONETWORKCONNECTIONS,
- REST_FORCESTARTMENULOGOFF,
- REST_NOWEBVIEW,
- REST_NOCUSTOMIZETHISFOLDER,
- REST_NOENCRYPTION,
-
- REST_ALLOWFRENCHENCRYPTION, /* not documented */
-
- REST_DONTSHOWSUPERHIDDEN,
- REST_NOSHELLSEARCHBUTTON,
- REST_NOHARDWARETAB,
- REST_NORUNASINSTALLPROMPT,
- REST_PROMPTRUNASINSTALLNETPATH,
- REST_NOMANAGEMYCOMPUTERVERB,
- REST_NORECENTDOCSNETHOOD,
- REST_DISALLOWRUN,
- REST_NOWELCOMESCREEN,
- REST_RESTRICTCPL, /* 0x40000040 */
- REST_DISALLOWCPL,
- REST_NOSMBALLOONTIP,
- REST_NOSMHELP,
- REST_NOWINKEYS,
- REST_NOENCRYPTONMOVE,
- REST_NOLOCALMACHINERUN,
- REST_NOCURRENTUSERRUN,
- REST_NOLOCALMACHINERUNONCE,
- REST_NOCURRENTUSERRUNONCE,
- REST_FORCEACTIVEDESKTOPON,
- REST_NOCOMPUTERSNEARME,
- REST_NOVIEWONDRIVE,
- REST_NONETCRAWL,
- REST_NOSHAREDDOCUMENTS,
- REST_NOSMMYDOCS,
- REST_NOSMMYPICS, /* 0x40000050 */
- REST_ALLOWBITBUCKDRIVES,
- REST_NONLEGACYSHELLMODE,
- REST_NOCONTROLPANELBARRICADE,
- REST_NOSTARTPAGE,
- REST_NOAUTOTRAYNOTIFY,
- REST_NOTASKGROUPING,
- REST_NOCDBURNING,
- REST_MYCOMPNOPROP,
- REST_MYDOCSNOPROP,
- REST_NOSTARTPANEL,
- REST_NODISPLAYAPPEARANCEPAGE,
- REST_NOTHEMESTAB,
- REST_NOVISUALSTYLECHOICE,
- REST_NOSIZECHOICE,
- REST_NOCOLORCHOICE,
- REST_SETVISUALSTYLE, /* 0x40000060 */
- REST_STARTRUNNOHOMEPATH,
- REST_NOUSERNAMEINSTARTPANEL,
- REST_NOMYCOMPUTERICON,
- REST_NOSMNETWORKPLACES,
- REST_NOSMPINNEDLIST,
- REST_NOSMMYMUSIC,
- REST_NOSMEJECTPC,
- REST_NOSMMOREPROGRAMS,
- REST_NOSMMFUPROGRAMS,
- REST_NOTRAYITEMSDISPLAY,
- REST_NOTOOLBARSONTASKBAR,
- /* 0x4000006C
- 0x4000006D
- 0x4000006E */
- REST_NOSMCONFIGUREPROGRAMS = 0x4000006F,
- REST_HIDECLOCK, /* 0x40000070 */
- REST_NOLOWDISKSPACECHECKS,
- REST_NOENTIRENETWORK,
- REST_NODESKTOPCLEANUP,
- REST_BITBUCKNUKEONDELETE,
- REST_BITBUCKCONFIRMDELETE,
- REST_BITBUCKNOPROP,
- REST_NODISPBACKGROUND,
- REST_NODISPSCREENSAVEPG,
- REST_NODISPSETTINGSPG,
- REST_NODISPSCREENSAVEPREVIEW,
- REST_NODISPLAYCPL,
- REST_HIDERUNASVERB,
- REST_NOTHUMBNAILCACHE,
- REST_NOSTRCMPLOGICAL,
- REST_NOPUBLISHWIZARD,
- REST_NOONLINEPRINTSWIZARD, /* 0x40000080 */
- REST_NOWEBSERVICES,
- REST_ALLOWUNHASHEDWEBVIEW,
- REST_ALLOWLEGACYWEBVIEW,
- REST_REVERTWEBVIEWSECURITY,
-
- REST_INHERITCONSOLEHANDLES = 0x40000086,
-
- REST_NODISCONNECT = 0x41000001,
- REST_NOSECURITY,
- REST_NOFILEASSOCIATE, /* 0x41000003 */
-} RESTRICTIONS;
-
-typedef enum {
- SLDF_HAS_ID_LIST = 0x00000001,
- SLDF_HAS_LINK_INFO = 0x00000002,
- SLDF_HAS_NAME = 0x00000004,
- SLDF_HAS_RELPATH = 0x00000008,
- SLDF_HAS_WORKINGDIR = 0x00000010,
- SLDF_HAS_ARGS = 0x00000020,
- SLDF_HAS_ICONLOCATION = 0x00000040,
- SLDF_UNICODE = 0x00000080,
- SLDF_FORCE_NO_LINKINFO = 0x00000100,
- SLDF_HAS_EXP_SZ = 0x00000200,
- SLDF_RUN_IN_SEPERATE = 0x00000400,
- SLDF_HAS_LOGO3ID = 0x00000800,
- SLDF_HAS_DARWINID = 0x00001000,
- SLDF_RUNAS_USER = 0x00002000,
- SLDF_HAS_EXP_ICON_SZ = 0x00004000,
- SLDF_NO_PIDL_ALIAS = 0x00008000,
- SLDF_FORCE_UNCNAME = 0x00010000,
- SLDF_RUN_WITH_SHIMLAYER = 0x00020000,
- SLDF_RESERVED = 0x80000000,
-} SHELL_LINK_DATA_FLAGS;
-
-typedef struct tagDATABLOCKHEADER
-{
- DWORD cbSize;
- DWORD dwSignature;
-} DATABLOCK_HEADER, *LPDATABLOCK_HEADER, *LPDBLIST;
-
-typedef struct {
- DATABLOCK_HEADER dbh;
- CHAR szDarwinID[MAX_PATH];
- WCHAR szwDarwinID[MAX_PATH];
-} EXP_DARWIN_LINK, *LPEXP_DARWIN_LINK;
-
-DECLARE_ENUMERATOR_(IEnumIDList,LPITEMIDLIST);
-typedef IEnumIDList *LPENUMIDLIST;
-
-#ifdef COBJMACROS
-#define IEnumIDList_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IEnumIDList_Release(T) (T)->lpVtbl->AddRef(T)
-#define IEnumIDList_AddRef(T) (T)->lpVtbl->Release(T)
-#define IEnumIDList_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c)
-#define IEnumIDList_Skip(T,a) (T)->lpVtbl->Skip(T,a)
-#define IEnumIDList_Reset(T) (T)->lpVtbl->Reset(T)
-#define IEnumIDList_Clone(T,a) (T)->lpVtbl->Clone(T,a)
-#endif
-
-#define INTERFACE IContextMenu
-DECLARE_INTERFACE_(IContextMenu,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE;
- STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE;
- STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE;
-};
-typedef IContextMenu *LPCONTEXTMENU;
-
-#ifdef COBJMACROS
-#define IContextMenu_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IContextMenu_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IContextMenu_Release(T) (T)->lpVtbl->Release(T)
-#define IContextMenu_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e)
-#define IContextMenu_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a)
-#define IContextMenu_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e)
-#endif
-
-#define INTERFACE IContextMenu2
-DECLARE_INTERFACE_(IContextMenu2,IContextMenu)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE;
- STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE;
- STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE;
- STDMETHOD(HandleMenuMsg)(THIS_ UINT,WPARAM,LPARAM) PURE;
-};
-#undef INTERFACE
-typedef IContextMenu2 *LPCONTEXTMENU2;
-
-#if (_WIN32_IE >= 0x0500)
-#pragma pack(push,8)
-typedef struct {
- ULONG dwFlags;
- ULONG dwReserved;
- WCHAR wszFolder[MAX_PATH];
-} SHCOLUMNINIT,*LPSHCOLUMNINIT;
-typedef const SHCOLUMNINIT* LPCSHCOLUMNINIT;
-typedef struct {
- ULONG dwFlags;
- DWORD dwFileAttributes;
- ULONG dwReserved;
- WCHAR *pwszExt;
- WCHAR wszFile[MAX_PATH];
-} SHCOLUMNDATA,*LPSHCOLUMNDATA;
-typedef const SHCOLUMNDATA* LPCSHCOLUMNDATA;
-#pragma pack(pop)
-
-#define MAX_COLUMN_NAME_LEN 80
-#define MAX_COLUMN_DESC_LEN 128
-
-#pragma pack(push,1)
-typedef struct {
- SHCOLUMNID scid;
- VARTYPE vt;
- DWORD fmt;
- UINT cChars;
- DWORD csFlags;
- WCHAR wszTitle[MAX_COLUMN_NAME_LEN];
- WCHAR wszDescription[MAX_COLUMN_DESC_LEN];
-} SHCOLUMNINFO,*LPSHCOLUMNINFO;
-typedef const SHCOLUMNINFO* LPCSHCOLUMNINFO;
-#pragma pack(pop)
-
-typedef enum {
- SHCOLSTATE_TYPE_STR = 0x00000001,
- SHCOLSTATE_TYPE_INT = 0x00000002,
- SHCOLSTATE_TYPE_DATE = 0x00000003,
- SHCOLSTATE_TYPEMASK = 0x0000000f,
- SHCOLSTATE_ONBYDEFAULT = 0x00000010,
- SHCOLSTATE_SLOW = 0x00000020,
- SHCOLSTATE_EXTENDED = 0x00000040,
- SHCOLSTATE_SECONDARYUI = 0x00000080,
- SHCOLSTATE_HIDDEN = 0x00000100,
- SHCOLSTATE_PREFER_VARCMP = 0x00000200
-} SHCOLSTATE;
-
-#ifdef COBJMACROS
-#define IContextMenu2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IContextMenu2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IContextMenu2_Release(T) (T)->lpVtbl->Release(T)
-#define IContextMenu2_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e)
-#define IContextMenu2_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a)
-#define IContextMenu2_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e)
-#define IContextMenu2_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,a,b,c)
-#endif
-
-#define INTERFACE IColumnProvider
-DECLARE_INTERFACE_(IColumnProvider,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Initialize)(THIS_ LPCSHCOLUMNINIT) PURE;
- STDMETHOD(GetColumnInfo)(THIS_ DWORD,SHCOLUMNINFO*) PURE;
- STDMETHOD(GetItemData)(THIS_ LPCSHCOLUMNID,LPCSHCOLUMNDATA,VARIANT*) PURE;
-};
-#undef INTERFACE
-#endif /* _WIN32_IE >= 0x0500 */
-
-#define INTERFACE IQueryInfo
-DECLARE_INTERFACE_(IQueryInfo,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetInfoTip)(THIS_ DWORD,WCHAR**) PURE;
- STDMETHOD(GetInfoFlags)(THIS_ DWORD*) PURE;
-};
-#undef INTERFACE
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-/*** IUnknown methods ***/
-#define IQueryInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IQueryInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IQueryInfo_Release(p) (p)->lpVtbl->Release(p)
-/*** IQueryInfo methods ***/
-#define IQueryInfo_GetInfoTip(p,a,b) (p)->lpVtbl->GetInfoTip(p,a,b)
-#define IQueryInfo_GetInfoFlags(p,a) (p)->lpVtbl->GetInfoFlags(p,a)
-#endif
-
-#define INTERFACE IShellExtInit
-DECLARE_INTERFACE_(IShellExtInit, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST,LPDATAOBJECT,HKEY) PURE;
-};
-#undef INTERFACE
-typedef IShellExtInit *LPSHELLEXTINIT;
-
-#define INTERFACE IShellPropSheetExt
-DECLARE_INTERFACE_(IShellPropSheetExt, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(AddPages)(THIS_ LPFNADDPROPSHEETPAGE,LPARAM) PURE;
- STDMETHOD(ReplacePage)(THIS_ UINT,LPFNADDPROPSHEETPAGE,LPARAM) PURE;
-};
-#undef INTERFACE
-typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT;
-
-#define INTERFACE IExtractIconA
-DECLARE_INTERFACE_(IExtractIconA, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetIconLocation)(THIS_ UINT,LPSTR,UINT,int*,PUINT) PURE;
- STDMETHOD(Extract)(THIS_ LPCSTR,UINT,HICON*,HICON*,UINT) PURE;
-};
-#undef INTERFACE
-typedef IExtractIconA *LPEXTRACTICONA;
-
-#ifdef COBJMACROS
-#define IExtractIconA_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IExtractIconA_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IExtractIconA_Release(T) (T)->lpVtbl->Release(T)
-#define IExtractIconA_GetIconLocation(T,a,b,c,d,e) (T)->lpVtbl->GetIconLocation(T,a,b,c,d,e)
-#define IExtractIconA_Extract(T,a,b,c,d,e) (T)->lpVtbl->Extract(T,a,b,c,d,e)
-#endif
-
-#define INTERFACE IExtractIconW
-DECLARE_INTERFACE_(IExtractIconW, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetIconLocation)(THIS_ UINT,LPWSTR,UINT,int*,PUINT) PURE;
- STDMETHOD(Extract)(THIS_ LPCWSTR,UINT,HICON*,HICON*,UINT) PURE;
-};
-#undef INTERFACE
-typedef IExtractIconW *LPEXTRACTICONW;
-
-#ifdef COBJMACROS
-#define IExtractIconW_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IExtractIconW_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IExtractIconW_Release(T) (T)->lpVtbl->Release(T)
-#define IExtractIconW_GetIconLocation(T,a,b,c,d,e) (T)->lpVtbl->GetIconLocation(T,a,b,c,d,e)
-#define IExtractIconW_Extract(T,a,b,c,d,e) (T)->lpVtbl->Extract(T,a,b,c,d,e)
-#endif
-
-#ifdef UNICODE
-#define IExtractIcon IExtractIconW
-#define LPEXTRACTICON LPEXTRACTICONW
-#else
-#define IExtractIcon IExtractIconA
-#define LPEXTRACTICON LPEXTRACTICONA
-#endif
-
-#define INTERFACE IShellLinkA
-DECLARE_INTERFACE_(IShellLinkA, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetPath)(THIS_ LPSTR,int,WIN32_FIND_DATAA*,DWORD) PURE;
- STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST*) PURE;
- STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST) PURE;
- STDMETHOD(GetDescription)(THIS_ LPSTR,int) PURE;
- STDMETHOD(SetDescription)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetWorkingDirectory)(THIS_ LPSTR,int) PURE;
- STDMETHOD(SetWorkingDirectory)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetArguments)(THIS_ LPSTR,int) PURE;
- STDMETHOD(SetArguments)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetHotkey)(THIS_ PWORD) PURE;
- STDMETHOD(SetHotkey)(THIS_ WORD) PURE;
- STDMETHOD(GetShowCmd)(THIS_ int*) PURE;
- STDMETHOD(SetShowCmd)(THIS_ int) PURE;
- STDMETHOD(GetIconLocation)(THIS_ LPSTR,int,int*) PURE;
- STDMETHOD(SetIconLocation)(THIS_ LPCSTR,int) PURE;
- STDMETHOD(SetRelativePath)(THIS_ LPCSTR ,DWORD) PURE;
- STDMETHOD(Resolve)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(SetPath)(THIS_ LPCSTR) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IShellLinkA_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellLinkA_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellLinkA_Release(T) (T)->lpVtbl->Release(T)
-#define IShellLinkA_GetPath(T,a,b,c,d) (T)->lpVtbl->GetPath(T,a,b,c,d)
-#define IShellLinkA_GetIDList(T,a) (T)->lpVtbl->GetIDList(T,a)
-#define IShellLinkA_SetIDList(T,a) (T)->lpVtbl->SetIDList(T,a)
-#define IShellLinkA_GetDescription(T,a,b) (T)->lpVtbl->GetDescription(T,a,b)
-#define IShellLinkA_SetDescription(T,a) (T)->lpVtbl->SetDescription(T,a)
-#define IShellLinkA_GetWorkingDirectory(T,a,b) (T)->lpVtbl->GetWorkingDirectory(T,a,b)
-#define IShellLinkA_SetWorkingDirectory(T,a) (T)->lpVtbl->SetWorkingDirectory(T,a)
-#define IShellLinkA_GetArguments(T,a,b) (T)->lpVtbl->GetArguments(T,a,b)
-#define IShellLinkA_SetArguments(T,a) (T)->lpVtbl->SetArguments(T,a)
-#define IShellLinkA_GetHotkey(T,a) (T)->lpVtbl->GetHotkey(T,a)
-#define IShellLinkA_SetHotkey(T,a) (T)->lpVtbl->SetHotkey(T,a)
-#define IShellLinkA_GetShowCmd(T,a) (T)->lpVtbl->GetShowCmd(T,a)
-#define IShellLinkA_SetShowCmd(T,a) (T)->lpVtbl->SetShowCmd(T,a)
-#define IShellLinkA_GetIconLocation(T,a,b,c) (T)->lpVtbl->GetIconLocation(T,a,b,c)
-#define IShellLinkA_SetIconLocation(T,a,b) (T)->lpVtbl->SetIconLocation(T,a,b)
-#define IShellLinkA_SetRelativePath(T,a,b) (T)->lpVtbl->SetRelativePath(T,a,b)
-#define IShellLinkA_Resolve(T,a,b) (T)->lpVtbl->Resolve(T,a,b)
-#define IShellLinkA_SetPath(T,a) (T)->lpVtbl->SetPath(T,a)
-#endif
-
-#define INTERFACE IShellLinkW
-DECLARE_INTERFACE_(IShellLinkW, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetPath)(THIS_ LPWSTR,int,WIN32_FIND_DATAW*,DWORD) PURE;
- STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST*) PURE;
- STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST) PURE;
- STDMETHOD(GetDescription)(THIS_ LPWSTR,int) PURE;
- STDMETHOD(SetDescription)(THIS_ LPCWSTR) PURE;
- STDMETHOD(GetWorkingDirectory)(THIS_ LPWSTR,int) PURE;
- STDMETHOD(SetWorkingDirectory)(THIS_ LPCWSTR) PURE;
- STDMETHOD(GetArguments)(THIS_ LPWSTR,int) PURE;
- STDMETHOD(SetArguments)(THIS_ LPCWSTR) PURE;
- STDMETHOD(GetHotkey)(THIS_ PWORD) PURE;
- STDMETHOD(SetHotkey)(THIS_ WORD) PURE;
- STDMETHOD(GetShowCmd)(THIS_ int*) PURE;
- STDMETHOD(SetShowCmd)(THIS_ int) PURE;
- STDMETHOD(GetIconLocation)(THIS_ LPWSTR,int,int*) PURE;
- STDMETHOD(SetIconLocation)(THIS_ LPCWSTR,int) PURE;
- STDMETHOD(SetRelativePath)(THIS_ LPCWSTR ,DWORD) PURE;
- STDMETHOD(Resolve)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(SetPath)(THIS_ LPCWSTR) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IShellLinkW_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellLinkW_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellLinkW_Release(T) (T)->lpVtbl->Release(T)
-#define IShellLinkW_GetPath(T,a,b,c,d) (T)->lpVtbl->GetPath(T,a,b,c,d)
-#define IShellLinkW_GetIDList(T,a) (T)->lpVtbl->GetIDList(T,a)
-#define IShellLinkW_SetIDList(T,a) (T)->lpVtbl->SetIDList(T,a)
-#define IShellLinkW_GetDescription(T,a,b) (T)->lpVtbl->GetDescription(T,a,b)
-#define IShellLinkW_SetDescription(T,a) (T)->lpVtbl->SetDescription(T,a)
-#define IShellLinkW_GetWorkingDirectory(T,a,b) (T)->lpVtbl->GetWorkingDirectory(T,a,b)
-#define IShellLinkW_SetWorkingDirectory(T,a) (T)->lpVtbl->SetWorkingDirectory(T,a)
-#define IShellLinkW_GetArguments(T,a,b) (T)->lpVtbl->GetArguments(T,a,b)
-#define IShellLinkW_SetArguments(T,a) (T)->lpVtbl->SetArguments(T,a)
-#define IShellLinkW_GetHotkey(T,a) (T)->lpVtbl->GetHotkey(T,a)
-#define IShellLinkW_SetHotkey(T,a) (T)->lpVtbl->SetHotkey(T,a)
-#define IShellLinkW_GetShowCmd(T,a) (T)->lpVtbl->GetShowCmd(T,a)
-#define IShellLinkW_SetShowCmd(T,a) (T)->lpVtbl->SetShowCmd(T,a)
-#define IShellLinkW_GetIconLocation(T,a,b,c) (T)->lpVtbl->GetIconLocation(T,a,b,c)
-#define IShellLinkW_SetIconLocation(T,a,b) (T)->lpVtbl->SetIconLocation(T,a,b)
-#define IShellLinkW_SetRelativePath(T,a,b) (T)->lpVtbl->SetRelativePath(T,a,b)
-#define IShellLinkW_Resolve(T,a,b) (T)->lpVtbl->Resolve(T,a,b)
-#define IShellLinkW_SetPath(T,a) (T)->lpVtbl->SetPath(T,a)
-#endif
-
-#define INTERFACE IShellLinkDataList
-DECLARE_INTERFACE_(IShellLinkDataList, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(AddDataBlock)(THIS_ PVOID) PURE;
- STDMETHOD(CopyDataBlock)(THIS_ DWORD,PVOID*) PURE;
- STDMETHOD(RemoveDataBlock)(THIS_ DWORD) PURE;
- STDMETHOD(GetFlags)(THIS_ PDWORD) PURE;
- STDMETHOD(SetFlags)(THIS_ DWORD) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IShellLinkDataList_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellLinkDataList_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellLinkDataList_Release(T) (T)->lpVtbl->Release(T)
-#define IShellLinkDataList_AddDataBlock(T,a) (T)->lpVtbl->AddDataBlock(T,a)
-#define IShellLinkDataList_CopyDataBlock(T,a,b) (T)->lpVtbl->CopyDataBlock(T,a,b)
-#define IShellLinkDataList_RemoveDataBlock(T,a) (T)->lpVtbl->RemoveDataBlock(T,a)
-#define IShellLinkDataList_GetFlags(T,a) (T)->lpVtbl->GetFlags(T,a)
-#define IShellLinkDataList_SetFlags(T,a) (T)->lpVtbl->SetFlags(T,a)
-#endif
-
-#define INTERFACE IShellFolder
-DECLARE_INTERFACE_(IShellFolder, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ParseDisplayName)(THIS_ HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) PURE;
- STDMETHOD(EnumObjects)(THIS_ HWND,DWORD,LPENUMIDLIST*) PURE;
- STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
- STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
- STDMETHOD(CompareIDs)(THIS_ LPARAM,LPCITEMIDLIST,LPCITEMIDLIST) PURE;
- STDMETHOD(CreateViewObject)(THIS_ HWND,REFIID,PVOID*) PURE;
- STDMETHOD(GetAttributesOf)(THIS_ UINT,LPCITEMIDLIST*,PULONG) PURE;
- STDMETHOD(GetUIObjectOf)(THIS_ HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*) PURE;
- STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST,DWORD,LPSTRRET) PURE;
- STDMETHOD(SetNameOf)(THIS_ HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*) PURE;
-};
-#undef INTERFACE
-typedef IShellFolder *LPSHELLFOLDER;
-
-#ifdef COBJMACROS
-#define IShellFolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellFolder_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellFolder_Release(T) (T)->lpVtbl->Release(T)
-#define IShellFolder_ParseDisplayName(T,a,b,c,d,e,f) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d,e,f)
-#define IShellFolder_EnumObjects(T,a,b,c) (T)->lpVtbl->EnumObjects(T,a,b,c)
-#define IShellFolder_BindToObject(T,a,b,c,d) (T)->lpVtbl->BindToObject(T,a,b,c,d)
-#define IShellFolder_BindToStorage(T,a,b,c,d) (T)->lpVtbl->BindToStorage(T,a,b,c,d)
-#define IShellFolder_CompareIDs(T,a,b,c) (T)->lpVtbl->CompareIDs(T,a,b,c)
-#define IShellFolder_CreateViewObject(T,a,b,c) (T)->lpVtbl->CreateViewObject(T,a,b,c)
-#define IShellFolder_GetAttributesOf(T,a,b,c) (T)->lpVtbl->GetAttributesOf(T,a,b,c)
-#define IShellFolder_GetUIObjectOf(T,a,b,c,d,e,f) (T)->lpVtbl->GetUIObjectOf(T,a,b,c,d,e,f)
-#define IShellFolder_GetDisplayNameOf(T,a,b,c) (T)->lpVtbl->GetDisplayNameOf(T,a,b,c)
-#define IShellFolder_SetNameOf(T,a,b,c,d,e) (T)->lpVtbl->SetNameOf(T,a,b,c,d,e)
-#endif
-
-#if (_WIN32_IE >= 0x0500)
-
-DECLARE_ENUMERATOR_(IEnumExtraSearch,LPEXTRASEARCH);
-typedef IEnumExtraSearch *LPENUMEXTRASEARCH;
-
-#define INTERFACE IShellFolder2
-DECLARE_INTERFACE_(IShellFolder2, IShellFolder)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ParseDisplayName)(THIS_ HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) PURE;
- STDMETHOD(EnumObjects)(THIS_ HWND,DWORD,LPENUMIDLIST*) PURE;
- STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
- STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
- STDMETHOD(CompareIDs)(THIS_ LPARAM,LPCITEMIDLIST,LPCITEMIDLIST) PURE;
- STDMETHOD(CreateViewObject)(THIS_ HWND,REFIID,PVOID*) PURE;
- STDMETHOD(GetAttributesOf)(THIS_ UINT,LPCITEMIDLIST*,PULONG) PURE;
- STDMETHOD(GetUIObjectOf)(THIS_ HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*) PURE;
- STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST,DWORD,LPSTRRET) PURE;
- STDMETHOD(SetNameOf)(THIS_ HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*) PURE;
- STDMETHOD(GetDefaultSearchGUID)(THIS_ GUID*) PURE;
- STDMETHOD(EnumSearches)(THIS_ IEnumExtraSearch**) PURE;
- STDMETHOD(GetDefaultColumn)(THIS_ DWORD,ULONG*,ULONG*) PURE;
- STDMETHOD(GetDefaultColumnState)(THIS_ UINT,SHCOLSTATEF*) PURE;
- STDMETHOD(GetDetailsEx)(THIS_ LPCITEMIDLIST,const SHCOLUMNID*,VARIANT*) PURE;
- STDMETHOD(GetDetailsOf)(THIS_ LPCITEMIDLIST,UINT,SHELLDETAILS*) PURE;
- STDMETHOD(MapColumnToSCID)(THIS_ UINT,SHCOLUMNID*) PURE;
-};
-#undef INTERFACE
-typedef IShellFolder2 *LPSHELLFOLDER2;
-
-#ifdef COBJMACROS
-#define IShellFolder2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellFolder2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellFolder2_Release(T) (T)->lpVtbl->Release(T)
-#define IShellFolder2_ParseDisplayName(T,a,b,c,d,e,f) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d,e,f)
-#define IShellFolder2_EnumObjects(T,a,b,c) (T)->lpVtbl->EnumObjects(T,a,b,c)
-#define IShellFolder2_BindToObject(T,a,b,c,d) (T)->lpVtbl->BindToObject(T,a,b,c,d)
-#define IShellFolder2_BindToStorage(T,a,b,c,d) (T)->lpVtbl->BindToStorage(T,a,b,c,d)
-#define IShellFolder2_CompareIDs(T,a,b,c) (T)->lpVtbl->CompareIDs(T,a,b,c)
-#define IShellFolder2_CreateViewObject(T,a,b) (T)->lpVtbl->CreateViewObject(T,a,b)
-#define IShellFolder2_GetAttributesOf(T,a,b,c) (T)->lpVtbl->GetAttributesOf(T,a,b,c)
-#define IShellFolder2_GetUIObjectOf(T,a,b,c,d,e,f) (T)->lpVtbl->GetUIObjectOf(T,a,b,c,d,e,f)
-#define IShellFolder2_GetDisplayNameOf(T,a,b,c) (T)->lpVtbl->GetDisplayNameOf(T,a,b,c)
-#define IShellFolder2_SetNameOf(T,a,b,c,d,e) (T)->lpVtbl->SetNameOf(T,a,b,c,d,e)
-#define IShellFolder2_GetDefaultSearchGUID(T,a) (T)->lpVtbl->GetDefaultSearchGUID(T,a)
-#define IShellFolder2_EnumSearches(T,a) (T)->lpVtbl->EnumSearches(T,a)
-#define IShellFolder2_GetDefaultColumn(T,a,b,c) (T)->lpVtbl->GetDefaultColumn(T,a,b,c)
-#define IShellFolder2_GetDefaultColumnState(T,a,b) (T)->lpVtbl->GetDefaultColumnState(T,a,b)
-#define IShellFolder2_GetDetailsEx(T,a,b,c) (T)->lpVtbl->GetDetailsEx(T,a,b,c)
-#define IShellFolder2_GetDetailsOf(T,a,b,c) (T)->lpVtbl->GetDetailsOf(T,a,b,c)
-#define IShellFolder2_MapColumnToSCID(T,a,b) (T)->lpVtbl->MapColumnToSCID(T,a,b)
-#endif
-
-#endif /* _WIN32_IE >= 0x0500 */
-#define INTERFACE ICopyHook
-DECLARE_INTERFACE_(ICopyHook, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(UINT,CopyCallback)(THIS_ HWND,UINT,UINT,LPCSTR,DWORD,LPCSTR,DWORD) PURE;
-};
-#undef INTERFACE
-typedef ICopyHook *LPCOPYHOOK;
-
-#define INTERFACE IFileViewerSite
-DECLARE_INTERFACE(IFileViewerSite)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetPinnedWindow)(THIS_ HWND) PURE;
- STDMETHOD(GetPinnedWindow)(THIS_ HWND*) PURE;
-};
-#undef INTERFACE
-typedef IFileViewerSite *LPFILEVIEWERSITE;
-
-#define INTERFACE IFileViewer
-DECLARE_INTERFACE(IFileViewer)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ShowInitialize)(THIS_ LPFILEVIEWERSITE) PURE;
- STDMETHOD(Show)(THIS_ LPFVSHOWINFO) PURE;
- STDMETHOD(PrintTo)(THIS_ LPSTR,BOOL) PURE;
-};
-#undef INTERFACE
-typedef IFileViewer *LPFILEVIEWER;
-
-#define INTERFACE IFileSystemBindData
-DECLARE_INTERFACE_(IFileSystemBindData, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetFindData)(THIS_ const WIN32_FIND_DATAW*) PURE;
- STDMETHOD(GetFindData)(THIS_ WIN32_FIND_DATAW*) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IPersistFolder
-DECLARE_INTERFACE_(IPersistFolder,IPersist)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
- STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE;
-};
-#undef INTERFACE
-typedef IPersistFolder *LPPERSISTFOLDER;
-
-#ifdef COBJMACROS
-#define IPersistFolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistFolder_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistFolder_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistFolder_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistFolder_Initialize(T,a) (T)->lpVtbl->Initialize(T,a)
-#endif
-
-#if (_WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500)
-
-#define INTERFACE IPersistFolder2
-DECLARE_INTERFACE_(IPersistFolder2,IPersistFolder)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
- STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE;
- STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST*) PURE;
-};
-#undef INTERFACE
-typedef IPersistFolder2 *LPPERSISTFOLDER2;
-
-#ifdef COBJMACROS
-#define IPersistFolder2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistFolder2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistFolder2_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistFolder2_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistFolder2_Initialize(T,a) (T)->lpVtbl->Initialize(T,a)
-#define IPersistFolder2_GetCurFolder(T,a) (T)->lpVtbl->GetCurFolder(T,a)
-#endif
-
-#endif /* _WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500 */
-
-#if (_WIN32_IE >= 0x0500)
-
-#define INTERFACE IPersistFolder3
-DECLARE_INTERFACE_(IPersistFolder3,IPersistFolder2)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
- STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE;
- STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST*) PURE;
- STDMETHOD(InitializeEx)(THIS_ IBindCtx*,LPCITEMIDLIST,const PERSIST_FOLDER_TARGET_INFO*) PURE;
- STDMETHOD(GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO*) PURE;
-};
-#undef INTERFACE
-typedef IPersistFolder3 *LPPERSISTFOLDER3;
-
-#ifdef COBJMACROS
-#define IPersistFolder3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistFolder3_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistFolder3_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistFolder3_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistFolder3_Initialize(T,a) (T)->lpVtbl->Initialize(T,a)
-#define IPersistFolder3_GetCurFolder(T,a) (T)->lpVtbl->GetCurFolder(T,a)
-#define IPersistFolder3_InitializeEx(T,a,b,c) (T)->lpVtbl->InitializeEx(T,a,b,c)
-#define IPersistFolder3_GetFolderTargetInfo(T,a) (T)->lpVtbl->GetFolderTargetInfo(T,a)
-#endif
-
-#endif /* _WIN32_IE >= 0x0500 */
-
-typedef interface IShellBrowser *LPSHELLBROWSER;
-typedef interface IShellView *LPSHELLVIEW;
-
-#define INTERFACE IShellBrowser
-DECLARE_INTERFACE_(IShellBrowser,IOleWindow)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(InsertMenusSB)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
- STDMETHOD(SetMenuSB)(THIS_ HMENU,HOLEMENU,HWND) PURE;
- STDMETHOD(RemoveMenusSB)(THIS_ HMENU) PURE;
- STDMETHOD(SetStatusTextSB)(THIS_ LPCOLESTR) PURE;
- STDMETHOD(EnableModelessSB)(THIS_ BOOL) PURE;
- STDMETHOD(TranslateAcceleratorSB) (THIS_ LPMSG,WORD) PURE;
- STDMETHOD(BrowseObject)(THIS_ LPCITEMIDLIST,UINT) PURE;
- STDMETHOD(GetViewStateStream)(THIS_ DWORD,LPSTREAM*) PURE;
- STDMETHOD(GetControlWindow)(THIS_ UINT,HWND*) PURE;
- STDMETHOD(SendControlMsg)(THIS_ UINT,UINT,WPARAM,LPARAM,LRESULT*) PURE;
- STDMETHOD(QueryActiveShellView)(THIS_ LPSHELLVIEW*) PURE;
- STDMETHOD(OnViewWindowActive)(THIS_ LPSHELLVIEW) PURE;
- STDMETHOD(SetToolbarItems)(THIS_ LPTBBUTTON,UINT,UINT) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IShellBrowser_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellBrowser_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellBrowser_Release(T) (T)->lpVtbl->Release(T)
-#define IShellBrowser_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IShellBrowser_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#define IShellBrowser_InsertMenusSB(T,a,b) (T)->lpVtbl->InsertMenusSB(T,a,b)
-#define IShellBrowser_SetMenuSB(T,a,b,c) (T)->lpVtbl->SetMenuSB(T,a,b,c)
-#define IShellBrowser_RemoveMenusSB(T,a) (T)->lpVtbl->RemoveMenusSB(T,a)
-#define IShellBrowser_SetStatusTextSB(T,a) (T)->lpVtbl->SetStatusTextSB(T,a)
-#define IShellBrowser_EnableModelessSB(T,a) (T)->lpVtbl->EnableModelessSB(T,a)
-#define IShellBrowser_TranslateAcceleratorSB(T,a,b) (T)->lpVtbl->TranslateAcceleratorSB(T,a,b)
-#define IShellBrowser_BrowseObject(T,a,b) (T)->lpVtbl->BrowseObject(T,a,b)
-#define IShellBrowser_GetViewStateStream(T,a,b) (T)->lpVtbl->GetViewStateStream(T,a,b)
-#define IShellBrowser_GetControlWindow(T,a,b) (T)->lpVtbl->GetControlWindow(T,a,b)
-#define IShellBrowser_SendControlMsg(T,a,b,c,d,e) (T)->lpVtbl->SendControlMsg(T,a,b,c,d,e)
-#define IShellBrowser_QueryActiveShellView(T,a) (T)->lpVtbl->QueryActiveShellView(T,a)
-#define IShellBrowser_OnViewWindowActive(T,a) (T)->lpVtbl->OnViewWindowActive(T,a)
-#define IShellBrowser_SetToolbarItems(T,a,b,c) (T)->lpVtbl->SetToolbarItems(T,a,b,c)
-#endif
-
-#define INTERFACE IShellView
-DECLARE_INTERFACE_(IShellView,IOleWindow)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE;
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
- STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE;
-#else
- STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
-#endif
- STDMETHOD(UIActivate)(THIS_ UINT) PURE;
- STDMETHOD(Refresh) (THIS) PURE;
- STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE;
- STDMETHOD(DestroyViewWindow)(THIS) PURE;
- STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE;
- STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE;
- STDMETHOD(SaveViewState)(THIS) PURE;
- STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE;
- STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IShellView_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellView_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellView_Release(T) (T)->lpVtbl->Release(T)
-#define IShellView_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IShellView_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#define IShellView_TranslateAccelerator(T,a) (T)->lpVtbl->TranslateAccelerator(T,a)
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
-#define IShellView_EnableModeless(T,a) (T)->lpVtbl->EnableModelessSV(T,a)
-#else
-#define IShellView_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a)
-#endif
-#define IShellView_UIActivate(T,a) (T)->lpVtbl->UIActivate(T,a)
-#define IShellView_Refresh(T) (T)->lpVtbl->Refresh(T)
-#define IShellView_CreateViewWindow(T,a,b,c,d,e) (T)->lpVtbl->CreateViewWindow(T,a,b,c,d,e)
-#define IShellView_DestroyViewWindow(T) (T)->lpVtbl->DestroyViewWindow(T)
-#define IShellView_GetCurrentInfo(T,a) (T)->lpVtbl->GetCurrentInfo(T,a)
-#define IShellView_AddPropertySheetPages(T,a,b,c) (T)->lpVtbl->AddPropertySheetPages(T,a,b,c)
-#define IShellView_SaveViewState(T) (T)->lpVtbl->SaveViewState(T)
-#define IShellView_SelectItem(T,a,b) (T)->lpVtbl->SelectItem(T,a,b)
-#define IShellView_GetItemObject(T,a,b,c) (T)->lpVtbl->GetItemObject(T,a,b,c)
-#endif
-
-#define INTERFACE ICommDlgBrowser
-DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(OnDefaultCommand)(THIS_ IShellView*) PURE;
- STDMETHOD(OnStateChange)(THIS_ IShellView*,ULONG) PURE;
- STDMETHOD(IncludeObject)(THIS_ IShellView*,LPCITEMIDLIST) PURE;
-};
-#undef INTERFACE
-typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
-
-#ifdef COBJMACROS
-#define ICommDlgBrowser_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define ICommDlgBrowser_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define ICommDlgBrowser_Release(T) (T)->lpVtbl->Release(T)
-#define ICommDlgBrowser_OnDefaultCommand(T,a) (T)->lpVtbl->OnDefaultCommand(T,a)
-#define ICommDlgBrowser_OnStateChange(T,a,b) (T)->lpVtbl->OnStateChange(T,a,b)
-#define ICommDlgBrowser_IncludeObject(T,a,b) (T)->lpVtbl->IncludeObject(T,a,b)
-#endif
-
-typedef GUID SHELLVIEWID;
-typedef struct _SV2CVW2_PARAMS {
- DWORD cbSize;
- IShellView *psvPrev;
- FOLDERSETTINGS const *pfs;
- IShellBrowser *psbOwner;
- RECT *prcView;
- SHELLVIEWID const *pvid;
- HWND hwndView;
-} SV2CVW2_PARAMS,*LPSV2CVW2_PARAMS;
-#define INTERFACE IShellView2
-DECLARE_INTERFACE_(IShellView2,IShellView)
-{
-
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE;
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
- STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE;
-#else
- STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
-#endif
- STDMETHOD(UIActivate)(THIS_ UINT) PURE;
- STDMETHOD(Refresh) (THIS) PURE;
- STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE;
- STDMETHOD(DestroyViewWindow)(THIS) PURE;
- STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE;
- STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE;
- STDMETHOD(SaveViewState)(THIS) PURE;
- STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE;
- STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE;
- STDMETHOD(GetView)(THIS_ SHELLVIEWID*,ULONG) PURE;
- STDMETHOD(CreateViewWindow2)(THIS_ LPSV2CVW2_PARAMS) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IShellExecuteHookA
-DECLARE_INTERFACE_(IShellExecuteHookA,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOA) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IShellExecuteHookW
-DECLARE_INTERFACE_(IShellExecuteHookW,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOW) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IShellIcon
-DECLARE_INTERFACE_(IShellIcon,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST,UINT,PINT) PURE;
-};
-#undef INTERFACE
-typedef IShellIcon *LPSHELLICON;
-
-typedef struct {
- BOOL fShowAllObjects : 1;
- BOOL fShowExtensions : 1;
- BOOL fNoConfirmRecycle : 1;
- BOOL fShowSysFiles : 1;
- BOOL fShowCompColor : 1;
- BOOL fDoubleClickInWebView : 1;
- BOOL fDesktopHTML : 1;
- BOOL fWin95Classic : 1;
- BOOL fDontPrettyPath : 1;
- BOOL fShowAttribCol : 1;
- BOOL fMapNetDrvBtn : 1;
- BOOL fShowInfoTip : 1;
- BOOL fHideIcons : 1;
- UINT fRestFlags : 3;
-} SHELLFLAGSTATE, * LPSHELLFLAGSTATE;
-
-#define SSF_SHOWALLOBJECTS 0x1
-#define SSF_SHOWEXTENSIONS 0x2
-#define SSF_SHOWCOMPCOLOR 0x8
-#define SSF_SHOWSYSFILES 0x20
-#define SSF_DOUBLECLICKINWEBVIEW 0x80
-#define SSF_SHOWATTRIBCOL 0x100
-#define SSF_DESKTOPHTML 0x200
-#define SSF_WIN95CLASSIC 0x400
-#define SSF_DONTPRETTYPATH 0x800
-#define SSF_MAPNETDRVBUTTON 0x1000
-#define SSF_SHOWINFOTIP 0x2000
-#define SSF_HIDEICONS 0x4000
-#define SSF_NOCONFIRMRECYCLE 0x8000
-
-#undef INTERFACE
-#define INTERFACE IShellIconOverlayIdentifier
-DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(IsMemberOf)(THIS_ LPCWSTR,DWORD) PURE;
- STDMETHOD(GetOverlayInfo)(THIS_ LPWSTR,int,int*,DWORD*) PURE;
- STDMETHOD(GetPriority)(THIS_ int*) PURE;
-};
-
-#define ISIOI_ICONFILE 0x00000001
-#define ISIOI_ICONINDEX 0x00000002
-
-#if (_WIN32_WINNT >= 0x0500) /* W2K */
-typedef struct {
- BOOL fShowAllObjects : 1;
- BOOL fShowExtensions : 1;
- BOOL fNoConfirmRecycle : 1;
- BOOL fShowSysFiles : 1;
- BOOL fShowCompColor : 1;
- BOOL fDoubleClickInWebView : 1;
- BOOL fDesktopHTML : 1;
- BOOL fWin95Classic : 1;
- BOOL fDontPrettyPath : 1;
- BOOL fShowAttribCol : 1;
- BOOL fMapNetDrvBtn : 1;
- BOOL fShowInfoTip : 1;
- BOOL fHideIcons : 1;
- BOOL fWebView : 1;
- BOOL fFilter : 1;
- BOOL fShowSuperHidden : 1;
- BOOL fNoNetCrawling : 1;
- DWORD dwWin95Unused;
- UINT uWin95Unused;
- LONG lParamSort;
- int iSortDirection;
- UINT version;
- UINT uNotUsed;
- BOOL fSepProcess : 1;
- BOOL fStartPanelOn : 1;
- BOOL fShowStartPage : 1;
- UINT fSpareFlags : 13;
-} SHELLSTATE, *LPSHELLSTATE;
-#endif /* _WIN32_WINNT >= 0x0500 */
-
-#if (_WIN32_IE >= 0x0500)
-#pragma pack(push,8)
-typedef struct
-{
- SIZE sizeDragImage;
- POINT ptOffset;
- HBITMAP hbmpDragImage;
- COLORREF crColorKey;
-} SHDRAGIMAGE, *LPSHDRAGIMAGE;
-#pragma pack(pop)
-
-#define INTERFACE IDragSourceHelper
-DECLARE_INTERFACE_(IDragSourceHelper, IUnknown)
-{
- STDMETHOD (QueryInterface)(THIS_ REFIID riid, void **ppv) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD (InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE;
- STDMETHOD (InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IDropTargetHelper
-DECLARE_INTERFACE_(IDropTargetHelper, IUnknown)
-{
- STDMETHOD (QueryInterface)(THIS_ REFIID riid, void** ppv) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD (DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE;
- STDMETHOD (DragLeave)(THIS) PURE;
- STDMETHOD (DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE;
- STDMETHOD (Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE;
- STDMETHOD (Show)(THIS_ BOOL fShow) PURE;
-};
-#undef INTERFACE
-#endif /* _WIN32_IE >= 0x0500 */
-
-#define INTERFACE IInputObject
-DECLARE_INTERFACE_(IInputObject,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- /*** IInputObject methods ***/
- STDMETHOD(UIActivateIO)(THIS_ BOOL bActivating, LPMSG lpMsg) PURE;
- STDMETHOD(HasFocusIO)(THIS) PURE;
- STDMETHOD(TranslateAcceleratorIO)(THIS_ LPMSG lpMsg) PURE;
-};
-#undef INTERFACE
-
-#if defined(COBJMACROS)
-/*** IUnknown methods ***/
-#define IInputObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IInputObject_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IInputObject_Release(p) (p)->lpVtbl->Release(p)
-/*** IInputObject methods ***/
-#define IInputObject_UIActivateIO(p,a,b) (p)->lpVtbl->UIActivateIO(p,a,b)
-#define IInputObject_HasFocusIO(p) (p)->lpVtbl->HasFocusIO(p)
-#define IInputObject_TranslateAcceleratorIO(p,a) (p)->lpVtbl->TranslateAcceleratorIO(p,a)
-#endif
-
-#define INTERFACE IInputObjectSite
-DECLARE_INTERFACE_(IInputObjectSite,IUnknown)
-{
- /*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- /*** IInputObjectSite methods ***/
- STDMETHOD(OnFocusChangeIS)(THIS_ LPUNKNOWN lpUnknown, BOOL bFocus) PURE;
-};
-#undef INTERFACE
-
-#if defined(COBJMACROS)
-/*** IUnknown methods ***/
-#define IInputObjectSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IInputObjectSite_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IInputObjectSite_Release(p) (p)->lpVtbl->Release(p)
-/*** IInputObject methods ***/
-#define IInputObjectSite_OnFocusChangeIS(p,a,b) (p)->lpVtbl->OnFocusChangeIS(p,a,b)
-#endif
-
-typedef HRESULT (CALLBACK *LPFNVIEWCALLBACK)(
- IShellView* dwUser,
- IShellFolder* pshf,
- HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
-typedef struct _CSFV
-{
- UINT uSize;
- IShellFolder* pshf;
- IShellView* psvOuter;
- LPCITEMIDLIST pidlFolder;
- LONG lEvents;
- LPFNVIEWCALLBACK pfnCallback;
- FOLDERVIEWMODE fvm;
-} CSFV, *LPCSFV;
-
-void WINAPI SHAddToRecentDocs(UINT,PCVOID);
-LPITEMIDLIST WINAPI SHBrowseForFolderA(PBROWSEINFOA);
-LPITEMIDLIST WINAPI SHBrowseForFolderW(PBROWSEINFOW);
-DWORD WINAPI SHCLSIDFromStringA(LPCSTR,CLSID*);
-DWORD WINAPI SHCLSIDFromStringW(LPCWSTR,CLSID*);
-HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV pshfvi, IShellView **ppshv);
-void WINAPI SHChangeNotify(LONG,UINT,PCVOID,PCVOID);
-HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int);
-HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int);
-HRESULT WINAPI SHGetDesktopFolder(LPSHELLFOLDER*);
-HRESULT WINAPI SHGetInstanceExplorer(IUnknown **);
-HRESULT WINAPI SHGetMalloc(LPMALLOC*);
-BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR);
-BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR);
-HRESULT WINAPI SHGetSpecialFolderLocation(HWND,int,LPITEMIDLIST*);
-HRESULT WINAPI SHLoadInProc(REFCLSID);
-#if (_WIN32_IE >= 0x0400)
-BOOL WINAPI SHGetSpecialFolderPathA(HWND,LPSTR,int,BOOL);
-BOOL WINAPI SHGetSpecialFolderPathW(HWND,LPWSTR,int,BOOL);
-#endif
-/* SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K */
-HRESULT WINAPI SHGetFolderPathA(HWND,int,HANDLE,DWORD,LPSTR);
-HRESULT WINAPI SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR);
-#if (_WIN32_WINDOWS >= 0x0490) || (_WIN32_WINNT >= 0x0500) /* ME or W2K */
-HRESULT WINAPI SHGetFolderLocation(HWND,int,HANDLE,DWORD,LPITEMIDLIST*);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-INT WINAPI SHCreateDirectoryExA(HWND,LPCSTR,LPSECURITY_ATTRIBUTES);
-INT WINAPI SHCreateDirectoryExW(HWND,LPCWSTR,LPSECURITY_ATTRIBUTES);
-HRESULT WINAPI SHBindToParent(LPCITEMIDLIST,REFIID,VOID**,LPCITEMIDLIST*);
-#endif
-#if (_WIN32_WINNT >= 0x0501) /* XP */
-HRESULT WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR);
-HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR);
-#endif
-void WINAPI SHGetSettings(LPSHELLFLAGSTATE,DWORD);
-#if (_WIN32_WINNT >= 0x0500) /* W2K */
-void WINAPI SHGetSetSettings(LPSHELLSTATE,DWORD,BOOL);
-#endif
-
-#if (_WIN32_WINNT >= 0x0500) /* W2K */
-BOOL WINAPI ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST);
-BOOL WINAPI ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL);
-BOOL WINAPI ILRemoveLastID(LPITEMIDLIST);
-HRESULT WINAPI ILLoadFromStream(IStream*, LPITEMIDLIST*);
-HRESULT WINAPI ILSaveToStream(IStream*, LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILAppendID(LPITEMIDLIST, LPCSHITEMID, BOOL);
-LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST, LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILCreateFromPathA(LPCSTR);
-LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR);
-#ifdef UNICODE
-#define ILCreateFromPath ILCreateFromPathW
-#else
-#define ILCreateFromPath ILCreateFromPathA
-#endif
-LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST, LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST);
-UINT WINAPI ILGetSize(LPCITEMIDLIST);
-void WINAPI ILFree(LPITEMIDLIST);
-
-HRESULT WINAPI SHCoCreateInstance(LPCWSTR,REFCLSID,IUnknown*,REFIID,void**);
-BOOL WINAPI SHObjectProperties(HWND,DWORD,LPCWSTR,LPCWSTR);
-#endif
-
-int WINAPI RestartDialog(HWND,LPCWSTR,DWORD);
-int WINAPI RestartDialogEx(HWND,LPCWSTR,DWORD,DWORD);
-
-ULONG WINAPI SHChangeNotifyRegister(HWND,int,LONG,UINT,int,SHChangeNotifyEntry *);
-BOOL WINAPI SHChangeNotifyDeregister(ULONG);
-
-#ifdef UNICODE
-typedef IShellExecuteHookW IShellExecuteHook;
-typedef IShellLinkW IShellLink;
-typedef BROWSEINFOW BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO;
-#define SHBrowseForFolder SHBrowseForFolderW
-#define SHCLSIDFromString SHCLSIDFromStringW
-#define SHGetDataFromIDList SHGetDataFromIDListW
-#define SHGetPathFromIDList SHGetPathFromIDListW
-#if (_WIN32_IE >= 0x0400)
-#define SHGetSpecialFolderPath SHGetSpecialFolderPathW
-#endif
-#define SHGetFolderPath SHGetFolderPathW
-#if (_WIN32_WINNT >= 0x0500)
-#define SHCreateDirectoryEx SHCreateDirectoryExW
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirW
-#endif
-
-#else
-typedef IShellExecuteHookA IShellExecuteHook;
-typedef IShellLinkA IShellLink;
-typedef BROWSEINFOA BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO;
-#define SHBrowseForFolder SHBrowseForFolderA
-#define SHCLSIDFromString SHCLSIDFromStringA
-#define SHGetDataFromIDList SHGetDataFromIDListA
-#define SHGetPathFromIDList SHGetPathFromIDListA
-#if (_WIN32_IE >= 0x0400)
-#define SHGetSpecialFolderPath SHGetSpecialFolderPathA
-#endif
-#define SHGetFolderPath SHGetFolderPathA
-#if (_WIN32_WINNT >= 0x0500)
-#define SHCreateDirectoryEx SHCreateDirectoryExA
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirA
-#endif
-#endif /* UNICODE */
-
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _SHLOBJ_H */