3295 lines
117 KiB
C
3295 lines
117 KiB
C
|
/*
|
||
|
* shlobj.h Shell object interfaces and functions
|
||
|
*
|
||
|
* =========================================================================
|
||
|
*
|
||
|
* Open Watcom Project
|
||
|
*
|
||
|
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
|
||
|
*
|
||
|
* This file is automatically generated. Do not edit directly.
|
||
|
*
|
||
|
* =========================================================================
|
||
|
*/
|
||
|
|
||
|
#ifndef _SHLOBJ_H_
|
||
|
#define _SHLOBJ_H_
|
||
|
|
||
|
#ifndef _ENABLE_AUTODEPEND
|
||
|
#pragma read_only_file;
|
||
|
#endif
|
||
|
|
||
|
#include <ole2.h>
|
||
|
#include <prsht.h>
|
||
|
#include <commctrl.h>
|
||
|
#include <shlguid.h>
|
||
|
#include <shtypes.h>
|
||
|
#include <shobjidl.h>
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/* Macro to specify shell folder functions */
|
||
|
#define SHFOLDERAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
|
||
|
|
||
|
/* Macros to specify shell document functions */
|
||
|
#define SHDOCAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
|
||
|
#define SHDOCAPI_( x ) EXTERN_C DECLSPEC_IMPORT x STDAPICALLTYPE
|
||
|
|
||
|
/* Forward declarations */
|
||
|
typedef interface IShellFolderViewCB IShellFolderViewCB;
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
typedef interface IEnumPrivacyRecords IEnumPrivacyRecords;
|
||
|
#endif
|
||
|
|
||
|
/* Property sheet extension array handle data type */
|
||
|
DECLARE_HANDLE( HPSXA );
|
||
|
|
||
|
/* IExtractIcon::GetIconLocation() flags */
|
||
|
#define GIL_OPENICON 0x0001
|
||
|
#define GIL_FORSHELL 0x0002
|
||
|
#define GIL_ASYNC 0x0020
|
||
|
#define GIL_DEFAULTICON 0x0040
|
||
|
#define GIL_FORSHORTCUT 0x0080
|
||
|
#define GIL_CHECKSHIELD 0x0200
|
||
|
|
||
|
/* IExtractIcon::GetIconLocation() flags */
|
||
|
#define GIL_SIMULATEDOC 0x0001
|
||
|
#define GIL_PERINSTANCE 0x0002
|
||
|
#define GIL_PERCLASS 0x0004
|
||
|
#define GIL_NOTFILENAME 0x0008
|
||
|
#define GIL_DONTCACHE 0x0010
|
||
|
#define GIL_SHIELD 0x0200
|
||
|
#define GIL_FORCENOSHIELD 0x0400
|
||
|
|
||
|
/* IShellIconOverlayIdentifier indices */
|
||
|
#define ISIOI_ICONFILE 0x00000001
|
||
|
#define ISIOI_ICONINDEX 0x00000002
|
||
|
|
||
|
/* IShellIconOverlayManager indices */
|
||
|
#define SIOM_OVERLAYINDEX 1
|
||
|
#define SIOM_ICONINDEX 2
|
||
|
#define SIOM_RESERVED_SHARED 0
|
||
|
#define SIOM_RESERVED_LINK 1
|
||
|
#define SIOM_RESERVED_SLOWFILE 2
|
||
|
#define SIOM_RESERVED_DEFAULT 3
|
||
|
|
||
|
/* IShellIconOverlay indices */
|
||
|
#define OI_DEFAULT 0x00000000
|
||
|
#define OI_ASYNC 0xFFFFEEEE
|
||
|
|
||
|
/* SHGetIconOverlayIndex() overlay identifiers */
|
||
|
#define IDO_SHGIOI_SHARE 0x0FFFFFFF
|
||
|
#define IDO_SHGIOI_LINK 0x0FFFFFFE
|
||
|
#define IDO_SHGIOI_SLOWFILE 0x0FFFFFFD
|
||
|
#define IDO_SHGIOI_DEFAULT 0x0FFFFFFC
|
||
|
|
||
|
/* NT console properties signatures */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define EXP_SZ_LINK_SIG 0xA0000001L
|
||
|
#define NT_CONSOLE_PROPS_SIG 0xA0000002L
|
||
|
#define NT_FE_CONSOLE_PROPS_SIG 0xA0000004L
|
||
|
#define EXP_SPECIAL_FOLDER_SIG 0xA0000005L
|
||
|
#endif
|
||
|
#if (_WIN32_IE >= 0x0500)
|
||
|
#define EXP_DARWIN_ID_SIG 0xA0000006L
|
||
|
#endif
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define EXP_SZ_ICON_SIG 0xA0000007L
|
||
|
#endif
|
||
|
#if (_WIN32_IE >= 0x0400) && (NTDDI_VERSION >= 0x06000000)
|
||
|
#define EXP_PROPERTYSTORAGE_SIG 0xA0000009L
|
||
|
#endif
|
||
|
|
||
|
/* IFileViewer show information flags */
|
||
|
#if (NTDDI_VERSION < 0x05000000)
|
||
|
#define FVSIF_RECT 0x00000001L
|
||
|
#define FVSIF_PINNED 0x00000002L
|
||
|
#define FVSIF_NEWFAILED 0x08000000L
|
||
|
#define FVSIF_CANVIEWIT 0x40000000L
|
||
|
#define FVSIF_NEWFILE 0x80000000L
|
||
|
#endif
|
||
|
|
||
|
/* Shell menu item and control identifiers */
|
||
|
#define FCIDM_SHVIEWFIRST 0x0000
|
||
|
#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 + 0x0000)
|
||
|
#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 + 0)
|
||
|
#define FCIDM_STATUS (FCIDM_BROWSERFIRST + 1)
|
||
|
|
||
|
/* Shell cursor identifiers */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define IDC_OFFLINE_HAND 103
|
||
|
#endif
|
||
|
#if (_WIN32_IE >= 0x0700)
|
||
|
#define IDC_PANTOOL_HAND_OPEN 104
|
||
|
#define IDC_PANTOOL_HAND_CLOSED 105
|
||
|
#endif
|
||
|
|
||
|
/* Shell status bar panes */
|
||
|
#define PANE_NONE 0xFFFFFFFF
|
||
|
#define PANE_ZONE 1
|
||
|
#define PANE_OFFLINE 2
|
||
|
#define PANE_PRINTER 3
|
||
|
#define PANE_SSL 4
|
||
|
#define PANE_NAVIGATION 5
|
||
|
#define PANE_PROGRESS 6
|
||
|
#if (_WIN32_IE >= 0x0600)
|
||
|
#define PANE_PRIVACY 7
|
||
|
#endif
|
||
|
|
||
|
/* SHOpenFolderAndSelectItem() flags */
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
#define OFASI_EDIT 0x00000001L
|
||
|
#define OFASI_OPENDESKTOP 0x00000002L
|
||
|
#endif
|
||
|
|
||
|
/* Special folders registry path */
|
||
|
#define REGSTR_PATH_SPECIAL_FOLDERS \
|
||
|
REGSTR_PATH_EXPLORER TEXT( "\\Shell Folders" )
|
||
|
|
||
|
/* Special folder identifiers */
|
||
|
#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 CSIDL_PERSONAL
|
||
|
#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
|
||
|
#ifndef CSIDL_LOCAL_APPDATA
|
||
|
#define CSIDL_LOCAL_APPDATA 0x001C
|
||
|
#endif
|
||
|
#define CSIDL_ALTSTARTUP 0x001D
|
||
|
#define CSIDL_COMMON_ALTSTARTUP 0x001E
|
||
|
#define CSIDL_COMMON_FAVORITES 0x001F
|
||
|
#ifndef _SHFOLDER_H_
|
||
|
#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
|
||
|
#endif
|
||
|
#define CSIDL_PROFILE 0x0028
|
||
|
#define CSIDL_SYSTEMX86 0x0029
|
||
|
#define CSIDL_PROGRAMFILESX86 0x002A
|
||
|
#ifndef _SHFOLDER_H_
|
||
|
#define CSIDL_PROGRAM_FILES_COMMON 0x002B
|
||
|
#endif
|
||
|
#define CSIDL_PROGRAM_FILES_COMMONX86 0x002C
|
||
|
#define CSIDL_COMMON_TEMPLATES 0x002D
|
||
|
#ifndef _SHFOLDER_H_
|
||
|
#define CSIDL_COMMON_DOCUMENTS 0x002E
|
||
|
#define CSIDL_COMMON_ADMINTOOLS 0x002F
|
||
|
#define CSIDL_ADMINTOOLS 0x0030
|
||
|
#endif
|
||
|
#define CSIDL_CONNECTIONS 0x0031
|
||
|
#define CSIDL_COMMON_MUSIC 0x0035
|
||
|
#define CSIDL_COMMON_PICTURES 0x0036
|
||
|
#define CSIDL_COMMON_VIDEO 0x0037
|
||
|
#define CSIDL_RESOURCES 0x0038
|
||
|
#ifndef _SHFOLDER_H_
|
||
|
#define CSIDL_RESOURCES_LOCALIZED 0x0039
|
||
|
#endif
|
||
|
#define CSIDL_COMMON_OEM_LINKS 0x003A
|
||
|
#define CSIDL_CDBURN_AREA 0x003B
|
||
|
#define CSIDL_COMPUTERSNEARME 0x003D
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
#define CSIDL_FLAG_PER_USER_INIT 0x0800
|
||
|
#define CSIDL_FLAG_NO_ALIAS 0x1000
|
||
|
#endif
|
||
|
#define CSIDL_FLAG_DONT_UNEXPAND 0x2000
|
||
|
#define CSIDL_FLAG_DONT_VERIFY 0x4000
|
||
|
#ifndef _SHFOLDER_H_
|
||
|
#define CSIDL_FLAG_CREATE 0x8000
|
||
|
#endif
|
||
|
#define CSIDL_FLAG_MASK 0xFF00
|
||
|
|
||
|
/* Folder custom settings */
|
||
|
#if (NTDDI_VERSION >= 0x05000000)
|
||
|
#define FCS_READ 0x00000001L
|
||
|
#define FCS_FORCEWRITE 0x00000002L
|
||
|
#define FCS_WRITE (FCS_READ | FCS_FORCEWRITE)
|
||
|
#endif
|
||
|
|
||
|
/* Folder custom settings flags */
|
||
|
#if (NTDDI_VERSION >= 0x05000000)
|
||
|
#define FCS_FLAG_DRAGDROP 2
|
||
|
#endif
|
||
|
|
||
|
/* Folder custom settings masks */
|
||
|
#if (NTDDI_VERSION >= 0x05000000)
|
||
|
#define FCSM_VIEWID 0x00000001L
|
||
|
#define FCSM_WEBVIEWTEMPLATE 0x00000002L
|
||
|
#define FCSM_INFOTIP 0x00000004L
|
||
|
#define FCSM_CLSID 0x00000008L
|
||
|
#define FCSM_ICONFILE 0x00000010L
|
||
|
#define FCSM_LOGO 0x00000020L
|
||
|
#define FCSM_FLAGS 0x00000040L
|
||
|
#endif
|
||
|
|
||
|
/* SHBrowseForFolder() flags */
|
||
|
#define BIF_RETURNONLYFSDIRS 0x00000001
|
||
|
#define BIF_DONTGOBELOWDOMAIN 0x00000002
|
||
|
#define BIF_STATUSTEXT 0x00000004
|
||
|
#define BIF_RETURNFSANCESTORS 0x00000008
|
||
|
#define BIF_EDITBOX 0x00000010
|
||
|
#define BIF_VALIDATE 0x00000020
|
||
|
#define BIF_NEWDIALOGSTYLE 0x00000040
|
||
|
#define BIF_USENEWUI (BIF_NEWDIALOGSTYLE | BIF_EDITBOX)
|
||
|
#define BIF_BROWSEINCLUDEURLS 0x00000080
|
||
|
#define BIF_UAHINT 0x00000100
|
||
|
#define BIF_NONEWFOLDERBUTTON 0x00000200
|
||
|
#define BIF_NOTRANSLATETARGETS 0x00000400
|
||
|
#define BIF_BROWSEFORCOMPUTER 0x00001000
|
||
|
#define BIF_BROWSEFORPRINTER 0x00002000
|
||
|
#define BIF_BROWSEINCLUDEFILES 0x00004000
|
||
|
#define BIF_SHAREABLE 0x00008000
|
||
|
#define BIF_BROWSEFILEJUNCTIONS 0x00010000
|
||
|
|
||
|
/* SHBrowseForFolder() callback messages */
|
||
|
#define BFFM_INITIALIZED 1
|
||
|
#define BFFM_SELCHANGED 2
|
||
|
#define BFFM_VALIDATEFAILEDA 3
|
||
|
#define BFFM_VALIDATEFAILEDW 4
|
||
|
#define BFFM_IUNKNOWN 5
|
||
|
#ifdef UNICODE
|
||
|
#define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDW
|
||
|
#else
|
||
|
#define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDA
|
||
|
#endif
|
||
|
|
||
|
/* SHBrowseForFolder() messages */
|
||
|
#define BFFM_SETSTATUSTEXTA (WM_USER + 100)
|
||
|
#define BFFM_ENABLEOK (WM_USER + 101)
|
||
|
#define BFFM_SETSELECTIONA (WM_USER + 102)
|
||
|
#define BFFM_SETSELECTIONW (WM_USER + 103)
|
||
|
#define BFFM_SETSTATUSTEXTW (WM_USER + 104)
|
||
|
#define BFFM_SETOKTEXT (WM_USER + 105)
|
||
|
#define BFFM_SETEXPANDED (WM_USER + 106)
|
||
|
#ifdef UNICODE
|
||
|
#define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTW
|
||
|
#define BFFM_SETSELECTION BFFM_SETSELECTIONW
|
||
|
#else
|
||
|
#define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTA
|
||
|
#define BFFM_SETSELECTION BFFM_SETSELECTIONA
|
||
|
#endif
|
||
|
|
||
|
/* IShellFolder bind strings */
|
||
|
#define STR_PARSE_WITH_PROPERTIES L"ParseWithProperties"
|
||
|
#define STR_PARSE_PARTIAL_IDLIST L"ParseOriginalItem"
|
||
|
|
||
|
/* IProgressDialog::StartProgressDialog() flags */
|
||
|
#define PROGDLG_NORMAL 0x00000000L
|
||
|
#define PROGDLG_MODAL 0x00000001L
|
||
|
#define PROGDLG_AUTOTIME 0x00000002L
|
||
|
#define PROGDLG_NOTIME 0x00000004L
|
||
|
#define PROGDLG_NOMINIMIZE 0x00000008L
|
||
|
#define PROGDLG_NOPROGRESSBAR 0x00000010L
|
||
|
#if (_WIN32_IE >= 0x0700)
|
||
|
#define PROGDLG_MARQUEEPROGRESS 0x00000020L
|
||
|
#define PROGDLG_NOCANCEL 0x00000040L
|
||
|
#endif
|
||
|
|
||
|
/* Timer actions */
|
||
|
#define PDTIMER_RESET 0x00000001L
|
||
|
#if (_WIN32_IE >= 0x0700)
|
||
|
#define PDTIMER_PAUSE 0x00000002L
|
||
|
#define PDTIMER_RESUME 0x00000003L
|
||
|
#endif
|
||
|
|
||
|
/* IDockingWindowFrame::RemoveToolbar() flags */
|
||
|
#define DWFRF_NORMAL 0x0000
|
||
|
#define DWFRF_DELETECONFIGDATA 0x0001
|
||
|
|
||
|
/* IDockingWindowFrame::AddToolbar() flags */
|
||
|
#define DWFAF_HIDDEN 0x0001
|
||
|
#define DWFAF_GROUP1 0x0002
|
||
|
#define DWFAF_GROUP2 0x0004
|
||
|
#define DWFAF_AUTOHIDE 0x0010
|
||
|
|
||
|
/* Shell image storage capability flags */
|
||
|
#if (NTDDI_VERSION >= 0x05000000) && (NTDDI_VERSION < 0x06000000)
|
||
|
#define SHIMSTCAPFLAG_LOCKABLE 0x0001
|
||
|
#define SHIMSTCAPFLAG_PURGEABLE 0x0002
|
||
|
#endif
|
||
|
|
||
|
/* Shell folder band masks */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define ISFB_MASK_STATE 0x00000001
|
||
|
#define ISFB_MASK_BKCOLOR 0x00000002
|
||
|
#define ISFB_MASK_VIEWMODE 0x00000004
|
||
|
#define ISFB_MASK_SHELLFOLDER 0x00000008
|
||
|
#define ISFB_MASK_IDLIST 0x00000010
|
||
|
#define ISFB_MASK_COLORS 0x00000020
|
||
|
#endif
|
||
|
|
||
|
/* Shell folder band states */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define ISFB_STATE_DEFAULT 0x00000000
|
||
|
#define ISFB_STATE_DEBOSSED 0x00000001
|
||
|
#define ISFB_STATE_ALLOWRENAME 0x00000002
|
||
|
#define ISFB_STATE_NOSHOWTEXT 0x00000004
|
||
|
#define ISFB_STATE_CHANNELBAR 0x00000010
|
||
|
#define ISFB_STATE_QLINKSMODE 0x00000020
|
||
|
#define ISFB_STATE_FULLOPEN 0x00000040
|
||
|
#define ISFB_STATE_NONAMESORT 0x00000080
|
||
|
#define ISFB_STATE_BTNMINSIZE 0x00000100
|
||
|
#endif
|
||
|
|
||
|
/* Shell folder band view modes */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define ISFBVIEWMODE_SMALLICONS 0x0001
|
||
|
#define ISFBVIEWMODE_LARGEICONS 0x0002
|
||
|
#if (_WIN32_IE < 0x0700)
|
||
|
#define ISFBVIEWMODE_LOGOS 0x0003
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IDeskBarClient::GetSize() flags */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define DBC_GS_IDEAL 0L
|
||
|
#define DBC_GS_SIZEDOWN 1L
|
||
|
#endif
|
||
|
|
||
|
/* Desk bar client states */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define DBC_HIDE 0L
|
||
|
#define DBC_SHOW 1L
|
||
|
#define DBC_SHOWOBSCURE 2L
|
||
|
#endif
|
||
|
|
||
|
/* Component position special value */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define COMPONENT_TOP 0x3FFFFFFF
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Component types */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define COMP_TYPE_HTMLDOC 0
|
||
|
#define COMP_TYPE_PICTURE 1
|
||
|
#define COMP_TYPE_WEBSITE 2
|
||
|
#define COMP_TYPE_CONTROL 3
|
||
|
#define COMP_TYPE_CFHTML 4
|
||
|
#define COMP_TYPE_MAX 4
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Component item states */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define IS_NORMAL 0x00000001L
|
||
|
#define IS_FULLSCREEN 0x00000002L
|
||
|
#define IS_SPLIT 0x00000004L
|
||
|
#define IS_VALIDSIZESTATEBITS \
|
||
|
(IS_NORMAL | IS_SPLIT | IS_FULLSCREEN)
|
||
|
#define IS_VALIDSTATEBITS \
|
||
|
(IS_NORMAL | IS_SPLIT | IS_FULLSCREEN | 0xC0000000L)
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IActiveDesktop::ApplyChanges() flags */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define AD_APPLY_SAVE 0x00000001L
|
||
|
#define AD_APPLY_HTMLGEN 0x00000002L
|
||
|
#define AD_APPLY_REFRESH 0x00000004L
|
||
|
#define AD_APPLY_ALL \
|
||
|
(AD_APPLY_SAVE | AD_APPLY_HTMLGEN | AD_APPLY_REFRESH)
|
||
|
#define AD_APPLY_FORCE 0x00000008L
|
||
|
#define AD_APPLY_BUFFERED_REFRESH 0x00000010L
|
||
|
#define AD_APPLY_DYNAMICREFRESH 0x00000020L
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IActiveDesktop::GetWallpaper() flags */
|
||
|
#if (NTDDI_VERSION >= 0x06000000) && (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define AD_GETWP_BMP 0x00000000L
|
||
|
#define AD_GETWP_IMAGE 0x00000001L
|
||
|
#define AD_GETWP_LAST_APPLIED 0x00000002L
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Wallpaper styles */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define WPSTYLE_CENTER 0
|
||
|
#define WPSTYLE_TILE 1
|
||
|
#define WPSTYLE_STRETCH 2
|
||
|
#if (NTDDI_VERSION >= 0x06010000)
|
||
|
#define WPSTYLE_KEEPASPECT 3
|
||
|
#define WPSTYLE_CROPTOFIT 4
|
||
|
#define WPSTYLE_MAX 5
|
||
|
#else
|
||
|
#define WPSTYLE_MAX 3
|
||
|
#endif
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IActiveDesktop::ModifyComponent() flags */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define COMP_ELEM_TYPE 0x00000001L
|
||
|
#define COMP_ELEM_CHECKED 0x00000002L
|
||
|
#define COMP_ELEM_DIRTY 0x00000004L
|
||
|
#define COMP_ELEM_NOSCROLL 0x00000008L
|
||
|
#define COMP_ELEM_POS_LEFT 0x00000010L
|
||
|
#define COMP_ELEM_POS_TOP 0x00000020L
|
||
|
#define COMP_ELEM_SIZE_WIDTH 0x00000040L
|
||
|
#define COMP_ELEM_SIZE_HEIGHT 0x00000080L
|
||
|
#define COMP_ELEM_POS_ZINDEX 0x00000100L
|
||
|
#define COMP_ELEM_SOURCE 0x00000200L
|
||
|
#define COMP_ELEM_FRIENDLYNAME 0x00000400L
|
||
|
#define COMP_ELEM_SUBSCRIBEDURL 0x00000800L
|
||
|
#define COMP_ELEM_ORIGINAL_CSI 0x00001000L
|
||
|
#define COMP_ELEM_RESTORED_CSI 0x00002000L
|
||
|
#define COMP_ELEM_CURITEMSTATE 0x00004000L
|
||
|
#define COMP_ELEM_ALL \
|
||
|
(COMP_ELEM_TYPE | COMP_ELEM_CHECKED | COMP_ELEM_DIRTY | \
|
||
|
COMP_ELEM_NOSCROLL | COMP_ELEM_POS_LEFT | COMP_ELEM_SIZE_WIDTH | \
|
||
|
COMP_ELEM_SIZE_HEIGHT | COMP_ELEM_POS_ZINDEX | COMP_ELEM_SOURCE | \
|
||
|
COMP_ELEM_FRIENDLYNAME | COMP_ELEM_POS_TOP | COMP_ELEM_SUBSCRIBEDURL | \
|
||
|
COMP_ELEM_ORIGINAL_CSI | COMP_ELEM_RESTORED_CSI | COMP_ELEM_CURITEMSTATE)
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IActiveDesktop::AddUrl() flags */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define ADDURL_SILENT 0x00000001L
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Component default positions */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define COMPONENT_DEFAULT_LEFT 0xFFFF
|
||
|
#define COMPONENT_DEFAULT_TOP 0xFFFF
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IActiveDesktopP::SetSafeMode() flags */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define SSM_CLEAR 0x00000000L
|
||
|
#define SSM_SET 0x00000001L
|
||
|
#define SSM_REFRESH 0x00000002L
|
||
|
#define SSM_UPDATE 0x00000004L
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IActiveDesktopP::SetScheme() flags */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define SCHEME_DISPLAY 0x00000001L
|
||
|
#define SCHEME_EDIT 0x00000002L
|
||
|
#define SCHEME_LOCAL 0x00000004L
|
||
|
#define SCHEME_GLOBAL 0x00000008L
|
||
|
#define SCHEME_REFRESH 0x00000010L
|
||
|
#define SCHEME_UPDATE 0x00000020L
|
||
|
#define SCHEME_CREATE 0x00000080L
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IADesktopP2::GetADObjectFlags() flags */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#define GADOF_DIRTY 0x00000001L
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Shell column information maximum string lengths */
|
||
|
#if (_WIN32_IE >= 0x0500)
|
||
|
#define MAX_COLUMN_NAME_LEN 80
|
||
|
#define MAX_COLUMN_DESC_LEN 128
|
||
|
#endif
|
||
|
|
||
|
/* Shell column data flags */
|
||
|
#if (_WIN32_IE >= 0x0500)
|
||
|
#define SHCDF_UPDATEITEM 0x00000001L
|
||
|
#endif
|
||
|
|
||
|
/* Shell clipboard format strings */
|
||
|
#define CFSTR_SHELLIDLIST TEXT( "Shell IDList Array" )
|
||
|
#define CFSTR_SHELLIDLISTOFFSET TEXT( "Shell Object Offsets" )
|
||
|
#define CFSTR_NETRESOURCES TEXT( "Net Resource" )
|
||
|
#define CFSTR_FILEDESCRIPTORA TEXT( "FileGroupDescriptor" )
|
||
|
#define CFSTR_FILEDESCRIPTORW TEXT( "FileGroupDescriptorW" )
|
||
|
#define CFSTR_FILECONTENTS TEXT( "FileContents" )
|
||
|
#define CFSTR_FILENAMEA TEXT( "FileName" )
|
||
|
#define CFSTR_FILENAMEW TEXT( "FileNameW" )
|
||
|
#define CFSTR_PRINTERGROUP TEXT( "PrinterFriendlyName" )
|
||
|
#define CFSTR_FILENAMEMAPA TEXT( "FileNameMap" )
|
||
|
#define CFSTR_FILENAMEMAPW TEXT( "FileNameMapW" )
|
||
|
#define CFSTR_SHELLURL TEXT( "UniformResourceLocator" )
|
||
|
#define CFSTR_INETURLA CFSTR_SHELLURL
|
||
|
#define CFSTR_INETURLW TEXT( "UniformResourceLocatorW" )
|
||
|
#define CFSTR_PREFERREDDROPEFFECT TEXT( "Preferred DropEffect" )
|
||
|
#define CFSTR_PERFORMEDDROPEFFECT TEXT( "Performed DropEffect" )
|
||
|
#define CFSTR_PASTESUCCEEDED TEXT( "Paste Succeeded" )
|
||
|
#define CFSTR_INDRAGLOOP TEXT( "InShellDragLoop" )
|
||
|
#define CFSTR_MOUNTEDVOLUME TEXT( "MountedVolume" )
|
||
|
#define CFSTR_PERSISTEDDATAOBJECT TEXT( "PersistedDataObject" )
|
||
|
#define CFSTR_TARGETCLSID TEXT( "TargetCLSID" )
|
||
|
#define CFSTR_LOGICALPERFORMEDDROPEFFECT TEXT( "Logical Performed DropEffect" )
|
||
|
#define CFSTR_AUTOPLAY_SHELLIDLISTS TEXT( "Autoplay Enumerated IDList Array" )
|
||
|
#define CFSTR_UNTRUSTEDDRAGDROP TEXT( "UntrustedDragDrop" )
|
||
|
#define CFSTR_FILE_ATTRIBUTES_ARRAY TEXT( "File Attributes Array" )
|
||
|
#define CFSTR_INVOKECOMMAND_DROPPARAM TEXT( "InvokeCommand DropParam" )
|
||
|
#define CFSTR_SHELLDROPHANDLER TEXT( "DropHandlerCLSID" )
|
||
|
#define CFSTR_DROPDESCRIPTION TEXT( "DropDescription" )
|
||
|
#ifdef UNICODE
|
||
|
#define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORW
|
||
|
#define CFSTR_FILENAME CFSTR_FILENAMEW
|
||
|
#define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPW
|
||
|
#define CFSTR_INETURL CFSTR_INETURLW
|
||
|
#else
|
||
|
#define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORA
|
||
|
#define CFSTR_FILENAME CFSTR_FILENAMEA
|
||
|
#define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPA
|
||
|
#define CFSTR_INETURL CFSTR_INETURLA
|
||
|
#endif
|
||
|
|
||
|
/* Shell data/view aspects */
|
||
|
#define DVASPECT_SHORTNAME 2
|
||
|
#define DVASPECT_COPY 3
|
||
|
#define DVASPECT_LINK 4
|
||
|
|
||
|
/* Shell change notification return flags */
|
||
|
#define SHCNRF_InterruptLevel 0x0001
|
||
|
#define SHCNRF_ShellLevel 0x0002
|
||
|
#define SHCNRF_RecursiveInterrupt 0x1000
|
||
|
#define SHCNRF_NewDelivery 0x8000
|
||
|
|
||
|
/* Shell change notification events */
|
||
|
#define SHCNE_RENAMEITEM 0x00000001L
|
||
|
#define SHCNE_CREATE 0x00000002L
|
||
|
#define SHCNE_DELETE 0x00000004L
|
||
|
#define SHCNE_MKDIR 0x00000008L
|
||
|
#define SHCNE_RMDIR 0x00000010L
|
||
|
#define SHCNE_MEDIAINSERTED 0x00000020L
|
||
|
#define SHCNE_MEDIAREMOVED 0x00000040L
|
||
|
#define SHCNE_DRIVEREMOVED 0x00000080L
|
||
|
#define SHCNE_DRIVEADD 0x00000100L
|
||
|
#define SHCNE_NETSHARE 0x00000200L
|
||
|
#define SHCNE_NETUNSHARE 0x00000400L
|
||
|
#define SHCNE_ATTRIBUTES 0x00000800L
|
||
|
#define SHCNE_UPDATEDIR 0x00001000L
|
||
|
#define SHCNE_UPDATEITEM 0x00002000L
|
||
|
#define SHCNE_SERVERDISCONNECT 0x00004000L
|
||
|
#define SHCNE_UPDATEIMAGE 0x00008000L
|
||
|
#define SHCNE_DRIVEADDGUI 0x00010000L
|
||
|
#define SHCNE_RENAMEFOLDER 0x00020000L
|
||
|
#define SHCNE_FREESPACE 0x00040000L
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define SHCNE_EXTENDED_EVENT 0x04000000L
|
||
|
#endif
|
||
|
#define SHCNE_ASSOCCHANGED 0x08000000L
|
||
|
#define SHCNE_DISKEVENTS 0x0002381FL
|
||
|
#define SHCNE_GLOBALEVENTS 0x0C0581E0L
|
||
|
#define SHCNE_ALLEVENTS 0x7FFFFFFFL
|
||
|
#define SHCNE_INTERRUPT 0x80000000L
|
||
|
|
||
|
/* Shell change notification extended events */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define SHCNEE_ORDERCHANGED 2L
|
||
|
#define SHCNEE_MSI_CHANGE 4L
|
||
|
#define SHCNEE_MSI_UNINSTALL 5L
|
||
|
#endif
|
||
|
|
||
|
/* Shell change notification flags */
|
||
|
#define SHCNF_IDLIST 0x00000000
|
||
|
#define SHCNF_PATHA 0x00000001
|
||
|
#define SHCNF_PRINTERA 0x00000002
|
||
|
#define SHCNF_DWORD 0x00000003
|
||
|
#define SHCNF_PATHW 0x00000005
|
||
|
#define SHCNF_PRINTERW 0x00000006
|
||
|
#define SHCNF_TYPE 0x000000FF
|
||
|
#define SHCNF_FLUSH 0x00001000
|
||
|
#define SHCNF_FLUSHNOWAIT 0x00003000
|
||
|
#define SHCNF_NOTIFYRECURSIVE 0x00010000
|
||
|
#ifdef UNICODE
|
||
|
#define SHCNF_PATH SHCNF_PATHW
|
||
|
#define SHCNF_PRINTER SHCNF_PRINTERW
|
||
|
#else
|
||
|
#define SHCNF_PATH SHCNF_PATHA
|
||
|
#define SHCNF_PRINTER SHCNF_PRINTERA
|
||
|
#endif
|
||
|
|
||
|
/* IQueryInfo::GetInfoTip() flags */
|
||
|
#define QITIPF_DEFAULT 0x00000000L
|
||
|
#define QITIPF_USENAME 0x00000001L
|
||
|
#define QITIPF_LINKNOTARGET 0x00000002L
|
||
|
#define QITIPF_LINKUSETARGET 0x00000004L
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
#define QITIPF_USESLOWTIP 0x00000008L
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
#define QITIPF_SINGLELINE 0x00000010L
|
||
|
#endif
|
||
|
|
||
|
/* IQueryInfo::GetInfoFlags() flags */
|
||
|
#define QIF_CACHED 0x00000001L
|
||
|
#define QIF_DONTEXPANDFOLDER 0x00000002L
|
||
|
|
||
|
/* SHGetDataFromIDList() formats */
|
||
|
#define SHGDFIL_FINDDATA 1
|
||
|
#define SHGDFIL_NETRESOURCE 2
|
||
|
#define SHGDFIL_DESCRIPTIONID 3
|
||
|
|
||
|
/* Shell description identifiers */
|
||
|
#define SHGDID_ROOT_REGITEM 1L
|
||
|
#define SHGDID_FS_FILE 2L
|
||
|
#define SHGDID_FS_DIRECTORY 3L
|
||
|
#define SHGDID_FS_OTHER 4L
|
||
|
#define SHGDID_COMPUTER_DRIVE35 5L
|
||
|
#define SHGDID_COMPUTER_DRIVE525 6L
|
||
|
#define SHGDID_COMPUTER_REMOVABLE 7L
|
||
|
#define SHGDID_COMPUTER_FIXED 8L
|
||
|
#define SHGDID_COMPUTER_NETDRIVE 9L
|
||
|
#define SHGDID_COMPUTER_CDROM 10L
|
||
|
#define SHGDID_COMPUTER_RAMDISK 11L
|
||
|
#define SHGDID_COMPUTER_OTHER 12L
|
||
|
#define SHGDID_NET_DOMAIN 13L
|
||
|
#define SHGDID_NET_SERVER 14L
|
||
|
#define SHGDID_NET_SHARE 15L
|
||
|
#define SHGDID_NET_RESTOFNET 16L
|
||
|
#define SHGDID_NET_OTHER 17L
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
#define SHGDID_COMPUTER_IMAGING 18L
|
||
|
#define SHGDID_COMPUTER_AUDIO 19L
|
||
|
#define SHGDID_COMPUTER_SHAREDDOCS 20L
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
#define SHGDID_MOBILE_DEVICE 21L
|
||
|
#endif
|
||
|
|
||
|
/* Path resolve flags */
|
||
|
#define PRF_VERIFYEXISTS 0x0001
|
||
|
#define PRF_TRYPROGRAMEXTENSIONS (0x0002 | PRF_VERIFYEXISTS)
|
||
|
#define PRF_FIRSTDIRDEF 0x0004
|
||
|
#define PRF_DONTFINDLNK 0x0008
|
||
|
#if (NTDDI_VERSION >= 0x05010200)
|
||
|
#define PRF_REQUIREABSOLUTE 0x0010
|
||
|
#endif
|
||
|
|
||
|
/* Number of points for automatic scrolling */
|
||
|
#define NUM_POINTS 3
|
||
|
|
||
|
/* Cabinet state version number */
|
||
|
#define CABINETSTATE_VERSION 2
|
||
|
|
||
|
/* PathCleanupSpec() return flags */
|
||
|
#define PCS_REPLACEDCHAR 0x00000001
|
||
|
#define PCS_REMOVEDCHAR 0x00000002
|
||
|
#define PCS_TRUNCATED 0x00000004
|
||
|
#define PCS_PATHTOOLING 0x00000008
|
||
|
#define PCS_FATAL 0x80000000
|
||
|
|
||
|
/* Shell_MergeMenus() flags */
|
||
|
#define MM_ADDSEPARATOR 0x00000001L
|
||
|
#define MM_SUBMENUSHAVEIDS 0x00000002L
|
||
|
#define MM_DONTREMOVESEPS 0x00000004L
|
||
|
|
||
|
/* SHObjectProperties() object types */
|
||
|
#define SHOP_PRINTERNAME 0x00000001L
|
||
|
#define SHOP_FILEPATH 0x00000002L
|
||
|
#define SHOP_VOLUMEGRID 0x00000004L
|
||
|
|
||
|
/* SHFormatDrive() format identifier special value */
|
||
|
#define SHFMT_ID_DEFAULT 0xFFFF
|
||
|
|
||
|
/* SHFormatDrive() options */
|
||
|
#define SHFMT_OPT_FULL 0x0001
|
||
|
#define SHFMT_OPT_SYSONLY 0x0002
|
||
|
|
||
|
/* SHFormatDrive() return values */
|
||
|
#define SHFMT_ERROR 0xFFFFFFFFL
|
||
|
#define SHFMT_CANCEL 0xFFFFFFFEL
|
||
|
#define SHFMT_NOFORMAT 0xFFFFFFFDL
|
||
|
|
||
|
/* PathProcessCommand() flags */
|
||
|
#if (NTDDI_VERSION < 0x06000000)
|
||
|
#define PPCF_ADDQUOTES 0x00000001
|
||
|
#define PPCF_ADDARGUMENTS 0x00000003
|
||
|
#define PPCF_NODIRECTORIES 0x00000010
|
||
|
#define PPCF_FORCEQUALITY 0x00000040
|
||
|
#define PPCF_LONGESTPOSSIBLE 0x00000080
|
||
|
#endif
|
||
|
|
||
|
/* SHValidateUNC() flags */
|
||
|
#define VALIDATEUNC_CONNECT 0x0001
|
||
|
#define VALIDATEUNC_NOUI 0x0002
|
||
|
#define VALIDATEUNC_PRINT 0x0004
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
#define VALIDATEUNC_PERSIST 0x0008
|
||
|
#define VALIDATEUNC_VALID 0x000F
|
||
|
#else
|
||
|
#define VALIDATEUNC_VALID 0x0007
|
||
|
#endif
|
||
|
|
||
|
/* PIF manager flags */
|
||
|
#define OPENPROPS_NONE 0x0000
|
||
|
#define OPENPROPS_INHIBITPIF 0x8000
|
||
|
#define GETPROPS_NONE 0x0000
|
||
|
#define SETPROPS_NONE 0x0000
|
||
|
#define CLOSEPROPS_NONE 0x0000
|
||
|
#define CLOSEPROPS_DISCARD 0x0001
|
||
|
|
||
|
/* PIF string lengths */
|
||
|
#define PIFNAMESIZE 30
|
||
|
#define PIFSTARTLOCSIZE 63
|
||
|
#define PIFDEFPATHSIZE 64
|
||
|
#define PIFPARAMSSIZE 64
|
||
|
#define PIFSHPROGSIZE 64
|
||
|
#define PIFSHDATASIZE 64
|
||
|
#define PIFDEFFILESIZE 80
|
||
|
#define PIFMAXFILEPATH 260
|
||
|
|
||
|
/* QCM information placement flags */
|
||
|
#define QCMINFO_PLACE_BEFORE 0
|
||
|
#define QCMINFO_PLACE_AFTER 1
|
||
|
|
||
|
/* Toolbar information flags */
|
||
|
#define TBIF_APPEND 0x00000000
|
||
|
#define TBIF_PREPEND 0x00000001
|
||
|
#define TBIF_REPLACE 0x00000002
|
||
|
#define TBIF_DEFAULT 0x00000000
|
||
|
#define TBIF_INTERNETBAR 0x00010000
|
||
|
#define TBIF_STANDARDTOOLBAR 0x00020000
|
||
|
#define TBIF_NOTOOLBAR 0x00030000
|
||
|
|
||
|
/* Shell folder view callback messages */
|
||
|
#define SFVM_MERGEMENU 1
|
||
|
#define SFVM_INVOKECOMMAND 2
|
||
|
#define SFVM_GETHELPTEXT 3
|
||
|
#define SFVM_GETTOOLTIPTEXT 4
|
||
|
#define SFVM_GETBUTTONINFO 5
|
||
|
#define SFVM_GETBUTTONS 6
|
||
|
#define SFVM_INITMENUPOPUP 7
|
||
|
#define SFVM_FSNOTIFY 14
|
||
|
#define SFVM_WINDOWCREATED 15
|
||
|
#define SFVM_GETDETAILSOF 23
|
||
|
#define SFVM_COLUMNCLICK 24
|
||
|
#define SFVM_QUERYFSNOTIFY 25
|
||
|
#define SFVM_DEFITEMCOUNT 26
|
||
|
#define SFVM_DEFVIEWMODE 27
|
||
|
#define SFVM_UNMERGEMENU 28
|
||
|
#define SFVM_UPDATESTATUSBAR 31
|
||
|
#define SFVM_BACKGROUNDENUM 32
|
||
|
#define SFVM_DIDDRAGDROP 36
|
||
|
#define SFVM_SETISFV 39
|
||
|
#define SFVM_THISIDLIST 41
|
||
|
#define SFVM_ADDPROPERTYPAGES 47
|
||
|
#define SFVM_BACKGROUNDENUMDONE 48
|
||
|
#define SFVM_GETNOTIFY 49
|
||
|
#define SFVM_GETSORTDEFAULTS 53
|
||
|
#define SFVM_SIZE 57
|
||
|
#define SFVM_GETZONE 58
|
||
|
#define SFVM_GETPANE 59
|
||
|
#define SFVM_GETHELPTOPIC 63
|
||
|
#define SFVM_GETANIMATION 68
|
||
|
|
||
|
/* IShellFolderView::SetObjectCount() flags */
|
||
|
#define SFVSOC_INVALIDATE_ALL 0x00000001L
|
||
|
#define SFVSOC_NOSCROLL LVSICF_NOSCROLL
|
||
|
|
||
|
/* IShellFolderView::SelectItems() selection types */
|
||
|
#define SFVS_SELECT_NONE 0x00000000L
|
||
|
#define SFVS_SELECT_ALLITEMS 0x00000001L
|
||
|
#define SFVS_SELECT_INVERT 0x00000002L
|
||
|
|
||
|
/* Default folder menu callback messages */
|
||
|
#define DFM_MERGECONTEXTMENU 1
|
||
|
#define DFM_INVOKECOMMAND 2
|
||
|
#define DFM_GETHELPTEXT 5
|
||
|
#define DFM_WM_MEASUREITEM 6
|
||
|
#define DFM_WM_DRAWITEM 7
|
||
|
#define DFM_WM_INITMENUPOPUP 8
|
||
|
#define DFM_VALIDATECMD 9
|
||
|
#define DFM_MERGECONTEXTMENU_TOP 10
|
||
|
#define DFM_GETHELPTEXTW 11
|
||
|
#define DFM_INVOKECOMMANDEX 12
|
||
|
#define DFM_MAPCOMMANDNAME 13
|
||
|
#define DFM_GETDEFSTATICID 14
|
||
|
#define DFM_GETVERBW 15
|
||
|
#define DFM_GETVERBA 16
|
||
|
#define DFM_MERGECONTEXTMENU_BOTTOM 17
|
||
|
#define DFM_MODIFYQCMFLAGS 18
|
||
|
|
||
|
/* DFM_INVOKECOMMAND commands */
|
||
|
#define DFM_CMD_DELETE ((UINT)-1)
|
||
|
#define DFM_CMD_MOVE ((UINT)-2)
|
||
|
#define DFM_CMD_COPY ((UINT)-3)
|
||
|
#define DFM_CMD_LINK ((UINT)-4)
|
||
|
#define DFM_CMD_PROPERTIES ((UINT)-5)
|
||
|
#define DFM_CMD_NEWFOLDER ((UINT)-6)
|
||
|
#define DFM_CMD_PASTE ((UINT)-7)
|
||
|
#define DFM_CMD_VIEWLIST ((UINT)-8)
|
||
|
#define DFM_CMD_VIEWDETAILS ((UINT)-9)
|
||
|
#define DFM_CMD_PASTELINK ((UINT)-10)
|
||
|
#define DFM_CMD_PASTESPECIAL ((UINT)-11)
|
||
|
#define DFM_CMD_MODALPROP ((UINT)-12)
|
||
|
#define DFM_CMD_RENAME ((UINT)-13)
|
||
|
|
||
|
/* Shell folder view messages */
|
||
|
#define SFVM_REARRANGE 0x00000001
|
||
|
#define SFVM_ADDOBJECT 0x00000003
|
||
|
#define SFVM_REMOVEOBJECT 0x00000006
|
||
|
#define SFVM_UPDATEOBJECT 0x00000007
|
||
|
#define SFVM_GETSELECTEDOBJECTS 0x00000009
|
||
|
#define SFVM_SETITEMPOS 0x0000000E
|
||
|
#define SFVM_SETCLIPBOARD 0x00000010
|
||
|
#define SFVM_SETPOINTS 0x00000017
|
||
|
|
||
|
/* Internet shortcut property identifiers */
|
||
|
#define PID_IS_URL 2
|
||
|
#define PID_IS_NAME 4
|
||
|
#define PID_IS_WORKINGDIR 5
|
||
|
#define PID_IS_HOTKEY 6
|
||
|
#define PID_IS_SHOWCMD 7
|
||
|
#define PID_IS_ICONINDEX 8
|
||
|
#define PID_IS_ICONFILE 9
|
||
|
#define PID_IS_WHATSNEW 10
|
||
|
#define PID_IS_AUTHOR 11
|
||
|
#define PID_IS_DESCRIPTION 12
|
||
|
#define PID_IS_COMMENT 13
|
||
|
|
||
|
/* Internet site property identifiers */
|
||
|
#define PID_INTSITE_WHATSNEW 2
|
||
|
#define PID_INTSITE_AUTHOR 3
|
||
|
#define PID_INTSITE_VISIT 4
|
||
|
#define PID_INTSITE_LASTMOD 5
|
||
|
#define PID_INTSITE_VISITCOUNT 6
|
||
|
#define PID_INTSITE_DESCRIPTION 7
|
||
|
#define PID_INTSITE_COMMENT 8
|
||
|
#define PID_INTSITE_FLAGS 9
|
||
|
#define PID_INTSITE_CONTENTLEN 10
|
||
|
#define PID_INTSITE_CONTENTCODE 11
|
||
|
#define PID_INTSITE_RECURSE 12
|
||
|
#define PID_INTSITE_WATCH 13
|
||
|
#define PID_INTSITE_SUBSCRIPTION 14
|
||
|
#define PID_INTSITE_URL 15
|
||
|
#define PID_INTSITE_TITLE 16
|
||
|
#define PID_INTSITE_CODEPAGE 18
|
||
|
#define PID_INTSITE_TRACKING 19
|
||
|
#define PID_INTSITE_ICONINDEX 20
|
||
|
#define PID_INTSITE_ICONFILE 21
|
||
|
|
||
|
/* PID_IS_FLAGS flags */
|
||
|
#define PIDISF_RECENTLYCHANGED 0x00000001
|
||
|
#define PIDISF_CACHEDSTICKY 0x00000002
|
||
|
#define PIDISF_CACHEIMAGES 0x00000010
|
||
|
#define PIDISF_FOLLOWALLLINKS 0x00000020
|
||
|
|
||
|
/* PID_INTSITE_WATCH values */
|
||
|
#define PIDISM_GLOBAL 0
|
||
|
#define PIDISM_WATCH 1
|
||
|
#define PIDISM_DONTWATCH 2
|
||
|
|
||
|
/* Shell state version numbers */
|
||
|
#define SHELLSTATEVERSION_IE4 9
|
||
|
#define SHELLSTATEVERSION_WIN2K 10
|
||
|
|
||
|
/* Shell setting flags */
|
||
|
#define SSF_SHOWALLOBJECTS 0x00000001
|
||
|
#define SSF_SHOWEXTENSIONS 0x00000002
|
||
|
#define SSF_HIDDENFILEEXTS 0x00000004
|
||
|
#define SSF_SERVERADMINUI 0x00000004
|
||
|
#define SSF_SHOWCOMPCOLOR 0x00000008
|
||
|
#define SSF_SORTCOLUMNS 0x00000010
|
||
|
#define SSF_SHOWSYSFILES 0x00000020
|
||
|
#define SSF_DOUBLECLICKINWEBVIEW 0x00000080
|
||
|
#define SSF_SHOWATTRIBCOL 0x00000100
|
||
|
#define SSF_DESKTOPHTML 0x00000200
|
||
|
#define SSF_WIN95CLASSIC 0x00000400
|
||
|
#define SSF_DONTPRETTYPATH 0x00000800
|
||
|
#define SSF_MAPNETDRVBUTTON 0x00001000
|
||
|
#define SSF_SHOWINFOTIP 0x00002000
|
||
|
#define SSF_HIDEICONS 0x00004000
|
||
|
#define SSF_NOCONFIRMRECYCLE 0x00008000
|
||
|
#define SSF_FILTER 0x00010000
|
||
|
#define SSF_WEBVIEW 0x00020000
|
||
|
#define SSF_SHOWSUPERHIDDEN 0x00040000
|
||
|
#define SSF_SEPPROCESS 0x00080000
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
#define SSF_NONETCRAWLING 0x00100000
|
||
|
#define SSF_STARTPANELON 0x00200000
|
||
|
#define SSF_SHOWSTARTPAGE 0x00400000
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
#define SSF_AUTOCHECKSELECT 0x00800000
|
||
|
#define SSF_ICONSONLY 0x01000000
|
||
|
#define SSF_SHOWTYPEOVERLAY 0x02000000
|
||
|
#endif
|
||
|
|
||
|
/* SHPathPrepareForWrite() flags */
|
||
|
#define SHPPFW_NONE 0x00000000
|
||
|
#define SHPPFW_DIRCREATE 0x00000001
|
||
|
#define SHPPFW_ASKDIRCREATE 0x00000002
|
||
|
#define SHPPFW_IGNOREFILENAME 0x00000004
|
||
|
#define SHPPFW_NOWRITECHECK 0x00000008
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
#define SHPPFW_MEDIACHECKONLY 0x00000010
|
||
|
#endif
|
||
|
#define SHPPFW_DEFAULT SHPPFW_DIRCREATE
|
||
|
|
||
|
/* Shell link data flags */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
typedef enum {
|
||
|
SLDF_DEFAULT = 0x00000000,
|
||
|
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_SEPARATE = 0x00000400,
|
||
|
#if (NTDDI_VERSION < 0x06000000)
|
||
|
SLDF_HAS_LOGO3ID = 0x00000800,
|
||
|
#endif
|
||
|
SLDF_HAS_DARWINID = 0x00001000,
|
||
|
SLDF_RUNAS_USER = 0x00002000,
|
||
|
SLDF_HAS_EXP_ICON_SZ = 0x00004000,
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
SLDF_NO_PIDL_ALIAS = 0x00008000,
|
||
|
SLDF_FORCE_UNCNAME = 0x00010000,
|
||
|
SLDF_RUN_WITH_SHIMLAYER = 0x00020000,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
SLDF_FORCE_NO_LINKTRACK = 0x00040000,
|
||
|
SLDF_ENABLE_TARGET_METADATA = 0x00080000,
|
||
|
SLDF_DISABLE_LINK_PATH_TRACKING = 0x00100000,
|
||
|
SLDF_DISABLE_KNOWNFOLDER_RELATIVE_TRACKING = 0x00200000,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x06010000)
|
||
|
SLDF_NO_KF_ALIAS = 0x00400000,
|
||
|
SLDF_ALLOW_LINK_TO_LINK = 0x00800000,
|
||
|
SLDF_UNALIAS_ON_SAVE = 0x01000000,
|
||
|
SLDF_PREFER_ENVIRONMENT_PATH = 0x02000000,
|
||
|
SLDF_KEEP_LOCAL_IDLIST_FOR_UNC_TARGET = 0x04000000,
|
||
|
SLDF_VALID = 0x07FFF7FF,
|
||
|
#elif (NTDDI_VERSION >= 0x06000000)
|
||
|
SLDF_VALID = 0x003FF7FF,
|
||
|
#endif
|
||
|
SLDF_RESERVED = 0x80000000
|
||
|
} SHELL_LINK_DATA_FLAGS;
|
||
|
#endif
|
||
|
|
||
|
/* Data block header */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
typedef struct tagDATABLOCKHEADER {
|
||
|
DWORD cbSize;
|
||
|
DWORD dwSignature;
|
||
|
} DATABLOCK_HEADER;
|
||
|
typedef DATABLOCK_HEADER *LPDATABLOCK_HEADER;
|
||
|
typedef DATABLOCK_HEADER *LPDBLIST;
|
||
|
#endif
|
||
|
|
||
|
/* NT console properties */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
typedef struct {
|
||
|
#ifdef __cplusplus
|
||
|
DATABLOCK_HEADER dbh;
|
||
|
#else
|
||
|
DATABLOCK_HEADER;
|
||
|
#endif
|
||
|
WORD wFillAttribute;
|
||
|
WORD wPopupFillAttribute;
|
||
|
COORD dwScreenBufferSize;
|
||
|
COORD dwWindowSize;
|
||
|
COORD dwWindowOrigin;
|
||
|
DWORD nFont;
|
||
|
DWORD nInputBufferSize;
|
||
|
COORD dwFontSize;
|
||
|
UINT uFontFamily;
|
||
|
UINT uFontWeight;
|
||
|
WCHAR FaceName[LF_FACESIZE];
|
||
|
UINT uCursorSize;
|
||
|
BOOL bFullScreen;
|
||
|
BOOL bQuickEdit;
|
||
|
BOOL bInsertMode;
|
||
|
BOOL bAutoPosition;
|
||
|
UINT uHistoryBufferSize;
|
||
|
UINT uNumberOfHistoryBuffers;
|
||
|
BOOL bHistoryNoDup;
|
||
|
COLORREF ColorTable[16];
|
||
|
} NT_CONSOLE_PROPS;
|
||
|
typedef NT_CONSOLE_PROPS *LPNT_CONSOLE_PROPS;
|
||
|
#endif
|
||
|
|
||
|
/* NT FE console properties */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
typedef struct {
|
||
|
#ifdef __cplusplus
|
||
|
DATABLOCK_HEADER dbh;
|
||
|
#else
|
||
|
DATABLOCK_HEADER;
|
||
|
#endif
|
||
|
UINT uCodePage;
|
||
|
} NT_FE_CONSOLE_PROPS;
|
||
|
typedef NT_FE_CONSOLE_PROPS *PNT_FE_CONSOLE_PROPS;
|
||
|
#endif
|
||
|
|
||
|
/* Darwin link */
|
||
|
#if (_WIN32_IE >= 0x0500)
|
||
|
typedef struct {
|
||
|
#ifdef __cplusplus
|
||
|
DATABLOCK_HEADER dbh;
|
||
|
#else
|
||
|
DATABLOCK_HEADER;
|
||
|
#endif
|
||
|
CHAR szDarwinID[MAX_PATH];
|
||
|
WCHAR wszDarwinID[MAX_PATH];
|
||
|
} EXP_DARWIN_LINK;
|
||
|
typedef EXP_DARWIN_LINK *LPEXP_DARWIN_LINK;
|
||
|
#endif
|
||
|
|
||
|
/* Special folder */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
typedef struct {
|
||
|
DWORD cbSize;
|
||
|
DWORD dwSignature;
|
||
|
DWORD idSpecialFolder;
|
||
|
DWORD cbOffset;
|
||
|
} EXP_SPECIAL_FOLDER;
|
||
|
typedef EXP_SPECIAL_FOLDER *LPEXP_SPECIAL_FOLDER;
|
||
|
#endif
|
||
|
|
||
|
/* String link */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
typedef struct {
|
||
|
DWORD cbSize;
|
||
|
DWORD dwSignature;
|
||
|
CHAR szTarget[MAX_PATH];
|
||
|
WCHAR wszTarget[MAX_PATH];
|
||
|
} EXP_SZ_LINK;
|
||
|
typedef EXP_SZ_LINK *LPEXP_SZ_LINK;
|
||
|
#endif
|
||
|
|
||
|
/* Property storage */
|
||
|
#if (_WIN32_IE >= 0x0400) && (NTDDI_VERSION >= 0x06000000)
|
||
|
typedef struct {
|
||
|
DWORD cbSize;
|
||
|
DWORD dwSignature;
|
||
|
BYTE abPropertyStorage[1];
|
||
|
} EXP_PROPERTYSTORAGE;
|
||
|
#endif
|
||
|
|
||
|
/* IFileViewer show information */
|
||
|
#if (NTDDI_VERSION < 0x05000000)
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct {
|
||
|
DWORD cbSize;
|
||
|
HWND hwndOwner;
|
||
|
int iShow;
|
||
|
DWORD dwFlags;
|
||
|
RECT rect;
|
||
|
IUnknown *punkRel;
|
||
|
OLECHAR strNewFile[MAX_PATH];
|
||
|
} FVSHOWINFO;
|
||
|
typedef FVSHOWINFO *LPFVSHOWINFO;
|
||
|
#include <poppack.h>
|
||
|
#endif
|
||
|
|
||
|
/* SHGetPathFromIDListEx() flags */
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
enum tagGPFIDL_FLAGS {
|
||
|
GPFIDL_DEFAULT = 0x0000,
|
||
|
GPFIDL_ALTNAME = 0x0001,
|
||
|
GPFIDL_UNCPRINTER = 0x0002
|
||
|
};
|
||
|
typedef int GPFIDL_FLAGS;
|
||
|
#endif
|
||
|
|
||
|
/* SHGetFolderPath() types */
|
||
|
#if (NTDDI_VERSION >= 0x05000000)
|
||
|
typedef enum {
|
||
|
SHGFP_TYPE_CURRENT = 0,
|
||
|
SHGFP_TYPE_DEFAULT = 1
|
||
|
} SHGFP_TYPE;
|
||
|
#endif
|
||
|
|
||
|
/* Known folder flags */
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
typedef enum {
|
||
|
KF_FLAG_DEFAULT = 0x00000000,
|
||
|
KF_FLAG_CREATE = 0x00008000,
|
||
|
KF_FLAG_DONT_VERIFY = 0x00004000,
|
||
|
KF_FLAG_DONT_UNEXPAND = 0x00002000,
|
||
|
KF_FLAG_NO_ALIAS = 0x00001000,
|
||
|
KF_FLAG_INIT = 0x00000800,
|
||
|
KF_FLAG_DEFAULT_PATH = 0x00000400,
|
||
|
KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200,
|
||
|
KF_FLAG_SIMPLE_IDLIST = 0x00000100,
|
||
|
KF_FLAG_ALIAS_ONLY = 0x80000000
|
||
|
} KNOWN_FOLDER_FLAG;
|
||
|
#endif
|
||
|
|
||
|
/* Folder custom settings */
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct {
|
||
|
DWORD dwSize;
|
||
|
DWORD dwMask;
|
||
|
SHELLVIEWID *pvid;
|
||
|
LPWSTR pszWebViewTemplate;
|
||
|
DWORD cchWebViewTemplate;
|
||
|
LPWSTR pszWebViewTemplateVersion;
|
||
|
LPWSTR pszInfoTip;
|
||
|
DWORD cchInfoTip;
|
||
|
CLSID *pclsid;
|
||
|
DWORD dwFlags;
|
||
|
LPWSTR pszIconFile;
|
||
|
DWORD cchIconFile;
|
||
|
int iIconIndex;
|
||
|
LPWSTR pszLogo;
|
||
|
DWORD cchLogo;
|
||
|
} SHFOLDERCUSTOMSETTINGS;
|
||
|
typedef SHFOLDERCUSTOMSETTINGS *LPSHFOLDERCUSTOMSETTINGS;
|
||
|
#include <poppack.h>
|
||
|
#endif
|
||
|
|
||
|
/* SHBrowseForFolder() callback */
|
||
|
typedef int (CALLBACK *BFFCALLBACK)( HWND, UINT, LPARAM, LPARAM );
|
||
|
|
||
|
/* SHBrowseForFolder() parameters */
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct _browseinfoA {
|
||
|
HWND hwndOwner;
|
||
|
PCIDLIST_ABSOLUTE pidlRoot;
|
||
|
LPSTR pszDisplayName;
|
||
|
LPCSTR lpszTitle;
|
||
|
UINT ulFlags;
|
||
|
BFFCALLBACK lpfn;
|
||
|
LPARAM lParam;
|
||
|
int iImage;
|
||
|
} BROWSEINFOA;
|
||
|
typedef BROWSEINFOA *PBROWSEINFOA;
|
||
|
typedef BROWSEINFOA *LPBROWSEINFOA;
|
||
|
typedef struct _browseinfoW {
|
||
|
HWND hwndOwner;
|
||
|
PCIDLIST_ABSOLUTE pidlRoot;
|
||
|
LPWSTR pszDisplayName;
|
||
|
LPCWSTR lpszTitle;
|
||
|
UINT ulFlags;
|
||
|
BFFCALLBACK lpfn;
|
||
|
LPARAM lParam;
|
||
|
int iImage;
|
||
|
} BROWSEINFOW;
|
||
|
typedef BROWSEINFOW *PBROWSEINFOW;
|
||
|
typedef BROWSEINFOW *LPBROWSEINFOW;
|
||
|
#ifdef UNICODE
|
||
|
typedef BROWSEINFOW BROWSEINFO;
|
||
|
typedef PBROWSEINFOW PBROWSEINFO;
|
||
|
typedef LPBROWSEINFOW LPBROWSEINFO;
|
||
|
#else
|
||
|
typedef BROWSEINFOA BROWSEINFO;
|
||
|
typedef PBROWSEINFOA PBROWSEINFO;
|
||
|
typedef LPBROWSEINFOA LPBROWSEINFO;
|
||
|
#endif
|
||
|
#include <poppack.h>
|
||
|
|
||
|
/* Internet shortcut command identifier */
|
||
|
#if (_WIN32_IE >= 0x0501)
|
||
|
enum {
|
||
|
ISHCUTCMDID_DOWNLOADICON = 0,
|
||
|
#if (_WIN32_IE >= 0x0700)
|
||
|
ISHCUTCMDID_INTSHORTCUTCREATE = 1,
|
||
|
ISHCUTCMDID_COMMITHISTORY = 2,
|
||
|
ISHCUTCMDID_SETUSERAWURL = 3
|
||
|
#else
|
||
|
ISHCUTCMDID_INTSHORTCUTCREATE = 1
|
||
|
#endif
|
||
|
};
|
||
|
#define CMDID_INTSHORTCUTCREATE ISHCUTCMDID_INTSHORTCUTCREATE
|
||
|
#endif
|
||
|
|
||
|
/* Autocomplete list options */
|
||
|
typedef enum _tagAUTOCOMPLETELISTOPTIONS {
|
||
|
ACLO_NONE = 0,
|
||
|
ACLO_CURRENTDIR = 1,
|
||
|
ACLO_MYCOMPUTER = 2,
|
||
|
ACLO_DESKTOP = 4,
|
||
|
ACLO_FAVORITES = 8,
|
||
|
#if (_WIN32_IE >= 0x0600)
|
||
|
ACLO_FILESYSONLY = 16,
|
||
|
#if (_WIN32_IE >= 0x0700)
|
||
|
ACLO_FILESYSDIRS = 32,
|
||
|
ACLO_VIRTUALNAMESPACE = 64,
|
||
|
#else
|
||
|
ACLO_FILESYSDIRS = 32
|
||
|
#endif
|
||
|
#else
|
||
|
ACLO_FILESYSONLY = 16
|
||
|
#endif
|
||
|
} AUTOCOMPLETELISTOPTIONS;
|
||
|
|
||
|
/* IEnumShellImageStore data */
|
||
|
#if (NTDDI_VERSION >= 0x05000000) && (NTDDI_VERSION < 0x06000000)
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct _EnumImageStoreDATAtag {
|
||
|
WCHAR szPath[MAX_PATH];
|
||
|
FILETIME ftTimeStamp;
|
||
|
} ENUMSHELLIMAGESTOREDATA;
|
||
|
typedef ENUMSHELLIMAGESTOREDATA *PENUMSHELLIMAGESTOREDATA;
|
||
|
#include <poppack.h>
|
||
|
#endif
|
||
|
|
||
|
/* Shell folder band information */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct {
|
||
|
DWORD dwMask;
|
||
|
DWORD dwStateMask;
|
||
|
DWORD dwState;
|
||
|
COLORREF crBkgnd;
|
||
|
COLORREF crBtnLt;
|
||
|
COLORREF crBtnDk;
|
||
|
WORD wViewMode;
|
||
|
WORD wAlign;
|
||
|
IShellFolder *psf;
|
||
|
PIDLIST_ABSOLUTE pidl;
|
||
|
} BANDINFOSFB;
|
||
|
typedef BANDINFOSFB *PBANDINFOSFB;
|
||
|
#include <poppack.h>
|
||
|
#endif
|
||
|
|
||
|
/* Command target identifiers */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
enum {
|
||
|
SFBID_PIDLCHANGED = 0
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
/* Desk bar client identifiers */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
enum {
|
||
|
DBCID_EMPTY = 0,
|
||
|
DBCID_ONDRAG = 1,
|
||
|
DBCID_CLSIDOFBAR = 2,
|
||
|
DBCID_RESIZE = 3,
|
||
|
DBCID_GETBAR = 4
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
/* Wallpaper option */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
typedef struct _tagWALLPAPEROPT {
|
||
|
DWORD dwSize;
|
||
|
DWORD dwStyle;
|
||
|
} WALLPAPEROPT;
|
||
|
typedef WALLPAPEROPT *LPWALLPAPEROPT;
|
||
|
typedef const WALLPAPEROPT *LPCWALLPAPEROPT;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Components options */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
typedef struct _tagCOMPONENTSOPT {
|
||
|
DWORD dwSize;
|
||
|
BOOL fEnableComponents;
|
||
|
BOOL fActiveDesktop;
|
||
|
} COMPONENTSOPT;
|
||
|
typedef COMPONENTSOPT *LPCOMPONENTSOPT;
|
||
|
typedef const COMPONENTSOPT *LPCCOMPONENTSOPT;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Component position */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
typedef struct _tagCOMPPOS {
|
||
|
DWORD dwSize;
|
||
|
int iLeft;
|
||
|
int iTop;
|
||
|
DWORD dwWidth;
|
||
|
DWORD dwHeight;
|
||
|
int izIndex;
|
||
|
BOOL fCanResize;
|
||
|
BOOL fCanResizeX;
|
||
|
BOOL fCanResizeY;
|
||
|
int iPreferredLeftPercent;
|
||
|
int iPreferredTopPercent;
|
||
|
} COMPPOS;
|
||
|
typedef COMPPOS *LPCOMPPOS;
|
||
|
typedef const COMPPOS *LPCCOMPPOS;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Component state information */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
typedef struct _tagCOMPSTATEINFO {
|
||
|
DWORD dwSize;
|
||
|
int iLeft;
|
||
|
int iTop;
|
||
|
DWORD dwWidth;
|
||
|
DWORD dwHeight;
|
||
|
DWORD dwItemState;
|
||
|
} COMPSTATEINFO;
|
||
|
typedef COMPSTATEINFO *LPCOMPSTATEINFO;
|
||
|
typedef const COMPSTATEINFO *LPCCOMPSTATEINFO;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Component (Internet Explorer 4.0 version) */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
typedef struct _tagIE4COMPONENT {
|
||
|
DWORD dwSize;
|
||
|
DWORD dwID;
|
||
|
int iComponentType;
|
||
|
BOOL fChecked;
|
||
|
BOOL fDirty;
|
||
|
BOOL fNoScroll;
|
||
|
COMPPOS cpPos;
|
||
|
WCHAR wszFriendlyName[MAX_PATH];
|
||
|
WCHAR wszSource[INTERNET_MAX_URL_LENGTH];
|
||
|
WCHAR wszSubscribedURL[INTERNET_MAX_URL_LENGTH];
|
||
|
} IE4COMPONENT;
|
||
|
typedef IE4COMPONENT *LPIE4COMPONENT;
|
||
|
typedef const IE4COMPONENT *LPCIE4COMPONENT;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Component */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
typedef struct _tagCOMPONENT {
|
||
|
DWORD dwSize;
|
||
|
DWORD dwID;
|
||
|
int iComponentType;
|
||
|
BOOL fChecked;
|
||
|
BOOL fDirty;
|
||
|
BOOL fNoScroll;
|
||
|
COMPPOS cpPos;
|
||
|
WCHAR wszFriendlyName[MAX_PATH];
|
||
|
WCHAR wszSource[INTERNET_MAX_URL_LENGTH];
|
||
|
WCHAR wszSubscribedURL[INTERNET_MAX_URL_LENGTH];
|
||
|
DWORD dwCurItemState;
|
||
|
COMPSTATEINFO csiOriginal;
|
||
|
COMPSTATEINFO csiRestored;
|
||
|
} COMPONENT;
|
||
|
typedef COMPONENT *LPCOMPONENT;
|
||
|
typedef const COMPONENT *LPCCOMPONENT;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IActiveDesktop::AddDesktopWithUI() flags */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
enum _tagDTI_ADTIWUI {
|
||
|
DTI_ADDUI_DEFAULT = 0x00000000,
|
||
|
DTI_ADDUI_DISPSUBWIZARD = 0x00000001,
|
||
|
DTI_ADDUI_POSITIONITEM = 0x00000002
|
||
|
};
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* Shell column information */
|
||
|
#if (_WIN32_IE >= 0x0500)
|
||
|
#include <pshpack1.h>
|
||
|
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;
|
||
|
typedef SHCOLUMNINFO *LPSHCOLUMNINFO;
|
||
|
typedef const SHCOLUMNINFO *LPCSHCOLUMNINFO;
|
||
|
#include <poppack.h>
|
||
|
#endif
|
||
|
|
||
|
/* Shell column initialization information */
|
||
|
#if (_WIN32_IE >= 0x0500)
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct {
|
||
|
ULONG dwFlags;
|
||
|
ULONG dwReserved;
|
||
|
WCHAR wszFolder[MAX_PATH];
|
||
|
} SHCOLUMNINIT;
|
||
|
typedef SHCOLUMNINIT *LPSHCOLUMNINIT;
|
||
|
typedef const SHCOLUMNINIT *LPCSHCOLUMNINIT;
|
||
|
#include <poppack.h>
|
||
|
#endif
|
||
|
|
||
|
/* Shell column data */
|
||
|
#if (_WIN32_IE >= 0x0500)
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct {
|
||
|
ULONG dwFlags;
|
||
|
DWORD dwFileAttributes;
|
||
|
ULONG dwReserved;
|
||
|
WCHAR *pwszExt;
|
||
|
WCHAR wszFile[MAX_PATH];
|
||
|
} SHCOLUMNDATA;
|
||
|
typedef SHCOLUMNDATA *LPSHCOLUMNDATA;
|
||
|
typedef const SHCOLUMNDATA *LPCSHCOLUMNDATA;
|
||
|
#include <poppack.h>
|
||
|
#endif
|
||
|
|
||
|
/* Network resource array */
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct _NRESARRAY {
|
||
|
UINT cItems;
|
||
|
NETRESOURCE nr[1];
|
||
|
} NRESARRAY;
|
||
|
typedef NRESARRAY *LPNRESARRAY;
|
||
|
#include <poppack.h>
|
||
|
|
||
|
/* Clipboard item identifier list */
|
||
|
typedef struct _IDA {
|
||
|
UINT cidl;
|
||
|
UINT aoffset[1];
|
||
|
} CIDA;
|
||
|
typedef CIDA *LPIDA;
|
||
|
|
||
|
/* File descriptor flags */
|
||
|
typedef enum {
|
||
|
FD_CLSID = 0x00000001,
|
||
|
FD_SIZEPOINT = 0x00000002,
|
||
|
FD_ATTRIBUTES = 0x00000004,
|
||
|
FD_CREATETIME = 0x00000008,
|
||
|
FD_ACCESSTIME = 0x00000010,
|
||
|
FD_WRITESTIME = 0x00000020,
|
||
|
FD_FILESIZE = 0x00000040,
|
||
|
FD_PROGRESSUI = 0x00004000,
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
FD_LINKUI = 0x00008000,
|
||
|
FD_UNICODE = 0x80000000
|
||
|
#else
|
||
|
FD_LINKUI = 0x00008000
|
||
|
#endif
|
||
|
} FD_FLAGS;
|
||
|
|
||
|
/* File descriptor */
|
||
|
typedef struct _FILEDESCRIPTORA {
|
||
|
DWORD dwFlags;
|
||
|
CLSID clsid;
|
||
|
SIZEL sizel;
|
||
|
POINTL pointl;
|
||
|
DWORD dwFileAttributes;
|
||
|
FILETIME ftCreationTime;
|
||
|
FILETIME ftLastAccessTime;
|
||
|
FILETIME ftLastWriteTime;
|
||
|
DWORD nFileSizeHigh;
|
||
|
DWORD nFileSizeLow;
|
||
|
CHAR cFileName[MAX_PATH];
|
||
|
} FILEDESCRIPTORA;
|
||
|
typedef FILEDESCRIPTORA *LPFILEDESCRIPTORA;
|
||
|
typedef struct _FILEDESCRIPTORW {
|
||
|
DWORD dwFlags;
|
||
|
CLSID clsid;
|
||
|
SIZEL sizel;
|
||
|
POINTL pointl;
|
||
|
DWORD dwFileAttributes;
|
||
|
FILETIME ftCreationTime;
|
||
|
FILETIME ftLastAccessTime;
|
||
|
FILETIME ftLastWriteTime;
|
||
|
DWORD nFileSizeHigh;
|
||
|
DWORD nFileSizeLow;
|
||
|
WCHAR cFileName[MAX_PATH];
|
||
|
} FILEDESCRIPTORW;
|
||
|
typedef FILEDESCRIPTORW *LPFILEDESCRIPTORW;
|
||
|
#ifdef UNICODE
|
||
|
typedef FILEDESCRIPTORW FILEDESCRIPTOR;
|
||
|
typedef LPFILEDESCRIPTORW LPFILEDESCRIPTOR;
|
||
|
#else
|
||
|
typedef FILEDESCRIPTORA FILEDESCRIPTOR;
|
||
|
typedef LPFILEDESCRIPTORA LPFILEDESCRIPTOR;
|
||
|
#endif
|
||
|
|
||
|
/* File group descriptor */
|
||
|
typedef struct _FILEGROUPDESCRIPTORA {
|
||
|
UINT cItems;
|
||
|
FILEDESCRIPTORA fgd[1];
|
||
|
} FILEGROUPDESCRIPTORA;
|
||
|
typedef FILEGROUPDESCRIPTORA *LPFILEGROUPDESCRIPTORA;
|
||
|
typedef struct _FILEGROUPDESCRIPTORW {
|
||
|
UINT cItems;
|
||
|
FILEDESCRIPTORW fgd[1];
|
||
|
} FILEGROUPDESCRIPTORW;
|
||
|
typedef FILEGROUPDESCRIPTORW *LPFILEGROUPDESCRIPTORW;
|
||
|
#ifdef UNICODE
|
||
|
typedef FILEGROUPDESCRIPTORW FILEGROUPDESCRIPTOR;
|
||
|
typedef LPFILEGROUPDESCRIPTORW LPFILEGROUPDESCRIPTOR;
|
||
|
#else
|
||
|
typedef FILEGROUPDESCRIPTORA FILEGROUPDESCRIPTOR;
|
||
|
typedef LPFILEGROUPDESCRIPTORA LPFILEGROUPDESCRIPTOR;
|
||
|
#endif
|
||
|
|
||
|
/* Drop files */
|
||
|
typedef struct _DROPFILES {
|
||
|
DWORD pFiles;
|
||
|
POINT pt;
|
||
|
BOOL fNC;
|
||
|
BOOL fWide;
|
||
|
} DROPFILES;
|
||
|
typedef DROPFILES *LPDROPFILES;
|
||
|
|
||
|
/* File attributes array */
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
typedef struct {
|
||
|
UINT cItems;
|
||
|
DWORD dwSumFileAttributes;
|
||
|
DWORD dwProductFileAttributes;
|
||
|
DWORD rgdwFileAttributes[1];
|
||
|
} FILE_ATTRIBUTES_ARRAY;
|
||
|
#endif
|
||
|
|
||
|
/* Drop image types */
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
typedef enum {
|
||
|
DROPIMAGE_INVALID = -1,
|
||
|
DROPIMAGE_NONE = 0,
|
||
|
DROPIMAGE_COPY = DROPEFFECT_COPY,
|
||
|
DROPIMAGE_MOVE = DROPEFFECT_MOVE,
|
||
|
DROPIMAGE_LINK = DROPEFFECT_LINK,
|
||
|
DROPIMAGE_LABEL = 6,
|
||
|
DROPIMAGE_WARNING = 7,
|
||
|
DROPIMAGE_NOIMAGE = 8
|
||
|
} DROPIMAGETYPE;
|
||
|
#endif
|
||
|
|
||
|
/* Drop description */
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
typedef struct {
|
||
|
DROPIMAGETYPE type;
|
||
|
WCHAR szMessage[MAX_PATH];
|
||
|
WCHAR szInsert[MAX_PATH];
|
||
|
} DROPDESCRIPTION;
|
||
|
#endif
|
||
|
|
||
|
/* Shell change notification entry */
|
||
|
typedef struct _SHChangeNotifyEntry {
|
||
|
PCIDLIST_ABSOLUTE pidl;
|
||
|
BOOL fRecursive;
|
||
|
} SHChangeNotifyEntry;
|
||
|
|
||
|
/* SHAddToRecentDocs() flags */
|
||
|
typedef enum {
|
||
|
SHARD_PIDL = 0x00000001,
|
||
|
SHARD_PATHA = 0x00000002,
|
||
|
#if (NTDDI_VERSION >= 0x06010000)
|
||
|
SHARD_PATHW = 0x00000003,
|
||
|
SHARD_APPIDINFO = 0x00000004,
|
||
|
SHARD_APPIDINFOIDLIST = 0x00000005,
|
||
|
SHARD_LINK = 0x00000006,
|
||
|
SHARD_APPIDINFOLINK = 0x00000007,
|
||
|
SHARD_SHELLITEM = 0x00000008
|
||
|
#else
|
||
|
SHARD_PATHW = 0x00000003
|
||
|
#endif
|
||
|
} SHARD;
|
||
|
#ifdef UNICODE
|
||
|
#define SHARD_PATH SHARD_PATHW
|
||
|
#else
|
||
|
#define SHARD_PATH SHARD_PATHA
|
||
|
#endif
|
||
|
|
||
|
/* SHAddToRecentDocs() application identifier information */
|
||
|
#if (NTDDI_VERSION >= 0x06010000)
|
||
|
typedef struct SHARDAPPIDINFO {
|
||
|
IShellItem *psi;
|
||
|
PCWSTR pszAppID;
|
||
|
} SHARDAPPIDINFO;
|
||
|
#endif
|
||
|
|
||
|
/* SHAddToRecentDocs() application identifier information identifier list */
|
||
|
#if (NTDDI_VERSION >= 0x06010000)
|
||
|
typedef struct SHARDAPPIDINFOIDLIST {
|
||
|
PCIDLIST_ABSOLUTE pidl;
|
||
|
PCWSTR pszAppID;
|
||
|
} SHARDAPPIDINFOIDLIST;
|
||
|
#endif
|
||
|
|
||
|
/* SHAddToRecentDocs() application identifier information link */
|
||
|
#if (NTDDI_VERSION >= 0x06010000)
|
||
|
typedef struct SHARDAPPIDINFOLINK {
|
||
|
IShellLink *psl;
|
||
|
PCWSTR pszAppID;
|
||
|
} SHARDAPPIDINFOLINK;
|
||
|
#endif
|
||
|
|
||
|
/* Shell change DWORD as identifier list entry */
|
||
|
typedef struct _SHChangeDWORDAsIDList {
|
||
|
USHORT cb;
|
||
|
DWORD dwItem1;
|
||
|
DWORD dwItem2;
|
||
|
USHORT cbZero;
|
||
|
} SHChangeDWORDAsIDList;
|
||
|
typedef SHChangeDWORDAsIDList *LPSHChangeDWORDAsIDList;
|
||
|
|
||
|
/* Shell change update image identifier list entry */
|
||
|
#if (NTDDI_VERSION >= 0x05000000)
|
||
|
typedef struct _SHChangeUpdateImageIDList {
|
||
|
USHORT cb;
|
||
|
int iIconIndex;
|
||
|
int iCurIndex;
|
||
|
UINT uFlags;
|
||
|
DWORD dwProcessID;
|
||
|
WCHAR szName[MAX_PATH];
|
||
|
USHORT cbZero;
|
||
|
} SHChangeUpdateImageIDList;
|
||
|
typedef SHChangeUpdateImageIDList *LPSHChangeUpdateImageIDList;
|
||
|
#endif
|
||
|
|
||
|
/* Shell change product key as identifier list entry */
|
||
|
#if (NTDDI_VERSION >= 0x05000000)
|
||
|
typedef struct _SHChangeProductKeyAsIDList {
|
||
|
USHORT cb;
|
||
|
WCHAR wszProductKey[39];
|
||
|
USHORT cbZero;
|
||
|
} SHChangeProductKeyAsIDList;
|
||
|
typedef SHChangeProductKeyAsIDList *LPSHChangeProductKeyAsIDList;
|
||
|
#endif
|
||
|
|
||
|
/* SHChangeNotifyRegisterThread() status values */
|
||
|
typedef enum {
|
||
|
SCNRT_ENABLE = 0,
|
||
|
SCNRT_DISABLE = 1
|
||
|
} SCNRT_STATUS;
|
||
|
|
||
|
/* Shell description identifier */
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct _SHDESCRIPTIONID {
|
||
|
DWORD dwDescriptionId;
|
||
|
CLSID clsid;
|
||
|
} SHDESCRIPTIONID;
|
||
|
typedef SHDESCRIPTIONID *LPSHDESCRIPTIONID;
|
||
|
#include <poppack.h>
|
||
|
|
||
|
/* Automatic scrolling data */
|
||
|
typedef struct {
|
||
|
int iNextSample;
|
||
|
DWORD dwLastScroll;
|
||
|
BOOL bFull;
|
||
|
POINT pts[NUM_POINTS];
|
||
|
DWORD dwTimes[NUM_POINTS];
|
||
|
} AUTO_SCROLL_DATA;
|
||
|
|
||
|
/* Cabinet state */
|
||
|
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;
|
||
|
typedef CABINETSTATE *LPCABINETSTATE;
|
||
|
|
||
|
/* Shell restrictions */
|
||
|
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 = 0x40000002,
|
||
|
REST_NORECENTDOCSMENU = 0x40000003,
|
||
|
REST_NOACTIVEDESKTOP = 0x40000004,
|
||
|
REST_NOACTIVEDESKTOPCHANGES = 0x40000005,
|
||
|
REST_NOFAVORITESMENU = 0x40000006,
|
||
|
REST_CLEARRECENTDOCSONEXIT = 0x40000007,
|
||
|
REST_CLASSICSHELL = 0x40000008,
|
||
|
REST_NOCUSTOMIZEWEBVIEW = 0x40000009,
|
||
|
REST_NOHTMLWALLPAPER = 0x40000010,
|
||
|
REST_NOCHANGINGWALLPAPER = 0x40000011,
|
||
|
REST_NODESKCOMP = 0x40000012,
|
||
|
REST_NOADDDESKCOMP = 0x40000013,
|
||
|
REST_NODELDESKCOMP = 0x40000014,
|
||
|
REST_NOCLOSEDESKCOMP = 0x40000015,
|
||
|
REST_NOCLOSE_DRAGDROPBAND = 0x40000016,
|
||
|
REST_NOMOVINGBAND = 0x40000017,
|
||
|
REST_NOEDITDESKCOMP = 0x40000018,
|
||
|
REST_NORESOLVESEARCH = 0x40000019,
|
||
|
REST_NORESOLVETRACK = 0x4000001A,
|
||
|
REST_FORCECOPYACLWITHFILE = 0x4000001B,
|
||
|
#if (NTDDI_VERSION < 0x06000000)
|
||
|
REST_NOLOGO3CHANNELNOTIFY = 0x4000001C,
|
||
|
#endif
|
||
|
REST_NOFORGETSOFTWAREUPDATE = 0x4000001D,
|
||
|
REST_NOSETACTIVEDESKTOP = 0x4000001E,
|
||
|
REST_NOUPDATEWINDOWS = 0x4000001F,
|
||
|
REST_NOCHANGESTARTMENU = 0x40000020,
|
||
|
REST_NOFOLDEROPTIONS = 0x40000021,
|
||
|
REST_HASFINDCOMPUTERS = 0x40000022,
|
||
|
REST_INTELLIMENUS = 0x40000023,
|
||
|
REST_RUNDLGMEMCHECKBOX = 0x40000024,
|
||
|
REST_ARP_ShowPostSetup = 0x40000025,
|
||
|
REST_NOCSC = 0x40000026,
|
||
|
REST_NOCONTROLPANEL = 0x40000027,
|
||
|
REST_ENUMWORKGROUP = 0x40000028,
|
||
|
REST_ARP_NOARP = 0x40000029,
|
||
|
REST_ARP_NOREMOVEPAGE = 0x4000002A,
|
||
|
REST_ARP_NOADDPAGE = 0x4000002B,
|
||
|
REST_ARP_NOWINSETUPPAGE = 0x4000002C,
|
||
|
REST_GREYMSIADS = 0x4000002D,
|
||
|
REST_NOCHANGEMAPPEDDRIVELABEL = 0x4000002E,
|
||
|
REST_NOCHANGEMAPPEDDRIVECOMMENT = 0x4000002F,
|
||
|
REST_MaxRecentDocs = 0x40000030,
|
||
|
REST_NONETWORKCONNECTIONS = 0x40000031,
|
||
|
REST_FORCESTARTMENULOGOFF = 0x40000032,
|
||
|
REST_NOWEBVIEW = 0x40000033,
|
||
|
REST_NOCUSTOMIZETHISFOLDER = 0x40000034,
|
||
|
REST_NOENCRYPTION = 0x40000035,
|
||
|
REST_DONTSHOWSUPERHIDDEN = 0x40000037,
|
||
|
REST_NOSHELLSEARCHBUTTON = 0x40000038,
|
||
|
REST_NOHARDWARETAB = 0x40000039,
|
||
|
REST_NORUNASINSTALLPROMPT = 0x4000003A,
|
||
|
REST_PROMPTRUNASINSTALLNETPATH = 0x4000003B,
|
||
|
REST_NOMANAGEMYCOMPUTERVERB = 0x4000003C,
|
||
|
REST_DISALLOWRUN = 0x4000003E,
|
||
|
REST_NOWELCOMESCREEN = 0x4000003F,
|
||
|
REST_RESTRICTCPL = 0x40000040,
|
||
|
REST_DISALLOWCPL = 0x40000041,
|
||
|
REST_NOSMBALLOONTIP = 0x40000042,
|
||
|
REST_NOSMHELP = 0x40000043,
|
||
|
REST_NOWINKEYS = 0x40000044,
|
||
|
REST_NOENCRYPTONMOVE = 0x40000045,
|
||
|
REST_NOLOCALMACHINERUN = 0x40000046,
|
||
|
REST_NOCURRENTUSERRUN = 0x40000047,
|
||
|
REST_NOLOCALMACHINERUNONCE = 0x40000048,
|
||
|
REST_NOCURRENTUSERRUNONCE = 0x40000049,
|
||
|
REST_FORCEACTIVEDESKTOPON = 0x4000004A,
|
||
|
REST_NOVIEWONDRIVE = 0x4000004C,
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
REST_NONETCRAWL = 0x4000004D,
|
||
|
REST_NOSHAREDDOCUMENTS = 0x4000004E,
|
||
|
#endif
|
||
|
REST_NOSMMYDOCS = 0x4000004F,
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
REST_NOSMMYPICS = 0x40000050,
|
||
|
REST_ALLOWBITBUCKDRIVES = 0x40000051,
|
||
|
REST_NOLEGACYSHELLMODE = 0x40000052,
|
||
|
REST_NOCONTROLPANELBARRIACDE = 0x40000053,
|
||
|
REST_NOSTARTPAGE = 0x40000054,
|
||
|
REST_NOAUTOTRAYNOTIFY = 0x40000055,
|
||
|
REST_NOTASKGROUPING = 0x40000056,
|
||
|
REST_NOCDBURNING = 0x40000057,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05000300)
|
||
|
REST_MYCOMPNOPROP = 0x40000058,
|
||
|
REST_MYDOCSNOPROP = 0x40000059,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
REST_NOSTARTPANEL = 0x4000005A,
|
||
|
REST_NODISPLAYAPPEARANCEPAGE = 0x4000005B,
|
||
|
REST_NOTHEMESTAB = 0x4000005C,
|
||
|
REST_NOVISUALSTYLECHOICE = 0x4000005D,
|
||
|
REST_NOSIZECHOICE = 0x4000005E,
|
||
|
REST_NOCOLORCHOICE = 0x4000005F,
|
||
|
REST_SETVISUALSTYLE = 0x40000060,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05000300)
|
||
|
REST_STARTRUNNOHOMEPATH = 0x40000061,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
REST_NOUSERNAMEINSTARTPANEL = 0x40000062,
|
||
|
REST_NOMYCOMPUTERICON = 0x40000063,
|
||
|
REST_NOSMNETWORKPLACES = 0x40000064,
|
||
|
REST_NOSMPINNEDLIST = 0x40000065,
|
||
|
REST_NOSMMYMUSIC = 0x40000066,
|
||
|
REST_NOSMEJECTPC = 0x40000067,
|
||
|
REST_NOSMMOREPROGRAMS = 0x40000068,
|
||
|
REST_NOSMMFUPROGRAMS = 0x40000069,
|
||
|
REST_NOTRAYITEMSDISPLAY = 0x4000006A,
|
||
|
REST_NOTOOLBARSONTASKBAR = 0x4000006B,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05000300)
|
||
|
REST_NOSMCONFIGUREPROGRAMS = 0x4000006F,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
REST_HIDECLOCK = 0x40000070,
|
||
|
REST_NOLOWDISKSPACECHECKS = 0x40000071,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05000400)
|
||
|
REST_NOENTIRENETWORK = 0x40000072,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
REST_NODESKTOPCLEANUP = 0x40000073,
|
||
|
REST_BITBUCKNUKEONDELETE = 0x40000074,
|
||
|
REST_BITBUCKCONFIRMDELETE = 0x40000075,
|
||
|
REST_BITBUCKNOPROP = 0x40000076,
|
||
|
REST_NODISPBACKGROUND = 0x40000077,
|
||
|
REST_NODISPSCREENSAVEPG = 0x40000078,
|
||
|
REST_NODISPSETTINGSPG = 0x40000079,
|
||
|
REST_NODISPSCREENSAVEPREVIEW = 0x4000007A,
|
||
|
REST_NODISPLAYCPL = 0x4000007B,
|
||
|
REST_HIDERUNASVERB = 0x4000007C,
|
||
|
REST_NOTHUMBNAILCACHE = 0x4000007D,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010100)
|
||
|
REST_NOSTRCMPLOGICAL = 0x4000007E,
|
||
|
REST_NOPUBLISHWIZARD = 0x4000007F,
|
||
|
REST_NOONLINEPRINTSWIZARD = 0x40000080,
|
||
|
REST_NOWEBSERVICES = 0x40000081,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05000300)
|
||
|
REST_ALLOWUNHASHEDWEBVIEW = 0x40000082,
|
||
|
#endif
|
||
|
REST_ALLOWLEGACYWEBVIEW = 0x40000083,
|
||
|
#if (NTDDI_VERSION >= 0x05000300)
|
||
|
REST_REVERTWEBVIEWSECURITY = 0x40000084,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05000400)
|
||
|
REST_INHERITCONSOLEHANDLES = 0x40000086,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010200) && (NTDDI_VERSION < 0x06000000)
|
||
|
REST_SORTMAXITEMCOUNT = 0x40000087,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010200)
|
||
|
REST_NOREMOTERECURSIVEEVENTS = 0x40000089,
|
||
|
REST_NOREMOTECHANGENOTIFY = 0x40000091,
|
||
|
#if (NTDDI_VERSION < 0x06000000)
|
||
|
REST_NOSIMPLENETIDLIST = 0x40000092,
|
||
|
#endif
|
||
|
REST_NOENUMENTIRENETWORK = 0x40000093,
|
||
|
#if (NTDDI_VERSION < 0x06000000)
|
||
|
REST_NODETAILSTHUMBNAILONNETWORK = 0x40000094,
|
||
|
#endif
|
||
|
REST_NOINTERNETOPENWITH = 0x40000095,
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010200)
|
||
|
REST_DONTRETRYBADNETNAME = 0x4000009B,
|
||
|
REST_ALLOWFILECLSIDJUNCTIONS = 0x4000009C,
|
||
|
REST_NOUPNPINSTALL = 0x4000009D,
|
||
|
#endif
|
||
|
REST_ARP_DONTGROUPPATCHES = 0x400000AC,
|
||
|
REST_ARP_NOCHOOSEPROGRAMSPAGE = 0x400000AD,
|
||
|
REST_NODISCONNECT = 0x41000001,
|
||
|
REST_NOSECURITY = 0x41000002,
|
||
|
#if (NTDDI_VERSION >= 0x05010200)
|
||
|
REST_NOFILEASSOCIATE = 0x41000003,
|
||
|
REST_ALLOWCOMMENTTOGGLE = 0x41000004,
|
||
|
#if (NTDDI_VERSION < 0x06000000)
|
||
|
REST_USEDESKTOPINICACHE = 0x41000005,
|
||
|
#endif
|
||
|
#else
|
||
|
REST_NOFILEASSOCIATE = 0x41000003
|
||
|
#endif
|
||
|
} RESTRICTIONS;
|
||
|
|
||
|
/* SHOpenWithDialog() flags */
|
||
|
enum tagOPEN_AS_INFO_FLAGS {
|
||
|
OAIF_ALLOW_REGISTRATION = 0x00000001,
|
||
|
OAIF_REGISTER_EXT = 0x00000002,
|
||
|
OAIF_EXEC = 0x00000004,
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
OAIF_FORCE_REGISTRATION = 0x00000008,
|
||
|
OAIF_HIDE_REGISTRATION = 0x00000020,
|
||
|
OAIF_URL_PROTOCOL = 0x00000040
|
||
|
#else
|
||
|
OAIF_FORCE_REGISTRATION = 0x00000008
|
||
|
#endif
|
||
|
};
|
||
|
typedef int OPEN_AS_INFO_FLAGS;
|
||
|
|
||
|
/* SHOpenWithDialog() parameters */
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct _openasinfo {
|
||
|
LPCWSTR pcszFile;
|
||
|
LPCWSTR pcszClass;
|
||
|
OPEN_AS_INFO_FLAGS oaifInFlags;
|
||
|
} OPENASINFO;
|
||
|
typedef OPENASINFO *POPENASINFO;
|
||
|
#include <poppack.h>
|
||
|
|
||
|
/* PIF information */
|
||
|
typedef struct PROPPRG {
|
||
|
WORD flPrg;
|
||
|
WORD flPrgInit;
|
||
|
CHAR achTitle[PIFNAMESIZE];
|
||
|
CHAR achCmdLine[PIFSTARTLOCSIZE + PIFPARAMSSIZE + 1];
|
||
|
CHAR achWorkDir[PIFDEFPATHSIZE];
|
||
|
WORD wHotKey;
|
||
|
CHAR achIconFile[PIFDEFFILESIZE];
|
||
|
WORD wIconIndex;
|
||
|
DWORD dwEnhModeFlags;
|
||
|
DWORD dwRealModeFlags;
|
||
|
CHAR achOtherFile[PIFDEFFILESIZE];
|
||
|
CHAR achPIFFile[PIFMAXFILEPATH];
|
||
|
} PROPPRG;
|
||
|
typedef UNALIGNED PROPPRG *PPROPPRG;
|
||
|
typedef UNALIGNED PROPPRG *LPPROPPRG;
|
||
|
typedef const UNALIGNED PROPPRG *LPCPROPPRG;
|
||
|
|
||
|
/* Icon sizes */
|
||
|
enum {
|
||
|
BMICON_LARGE = 0,
|
||
|
BMICON_SMALL = 1
|
||
|
};
|
||
|
|
||
|
/* The following structures get eight-byte packing. */
|
||
|
#include <pshpack8.h>
|
||
|
|
||
|
/* QCM information identifier map placement */
|
||
|
typedef struct _QCMINFO_IDMAP_PLACEMENT {
|
||
|
UINT id;
|
||
|
UINT fFlags;
|
||
|
} QCMINFO_IDMAP_PLACEMENT;
|
||
|
|
||
|
/* QCM information identifier map */
|
||
|
typedef struct _QCMINFO_IDMAP {
|
||
|
UINT nMaxIds;
|
||
|
QCMINFO_IDMAP_PLACEMENT pIdList[1];
|
||
|
} QCMINFO_IDMAP;
|
||
|
|
||
|
/* QCM information */
|
||
|
typedef struct _QCMINFO {
|
||
|
HMENU hmenu;
|
||
|
UINT indexMenu;
|
||
|
UINT idCmdFirst;
|
||
|
UINT idCmdLast;
|
||
|
const QCMINFO_IDMAP *pIdMap;
|
||
|
} QCMINFO;
|
||
|
typedef QCMINFO *LPQCMINFO;
|
||
|
|
||
|
/* Toolbar information */
|
||
|
typedef struct _TBINFO {
|
||
|
UINT cbuttons;
|
||
|
UINT uFlags;
|
||
|
} TBINFO;
|
||
|
typedef TBINFO *LPTBINFO;
|
||
|
|
||
|
/* Details information */
|
||
|
typedef struct _DETAILSINFO {
|
||
|
PCUITEMID_CHILD pidl;
|
||
|
int fmt;
|
||
|
int cxChar;
|
||
|
STRRET str;
|
||
|
int iImage;
|
||
|
} DETAILSINFO;
|
||
|
typedef DETAILSINFO *PDETAILSINFO;
|
||
|
|
||
|
/* Property page data */
|
||
|
typedef struct _SFVM_PROPPAGE_DATA {
|
||
|
DWORD dwReserved;
|
||
|
LPFNADDPROPSHEETPAGE pfn;
|
||
|
LPARAM lParam;
|
||
|
} SFVM_PROPPAGE_DATA;
|
||
|
|
||
|
/* Help topic data */
|
||
|
typedef struct _SFVM_HELPTOPIC_DATA {
|
||
|
WCHAR wszHelpFile[MAX_PATH];
|
||
|
WCHAR wszHelpTopic[MAX_PATH];
|
||
|
} SFVM_HELPTOPIC_DATA;
|
||
|
|
||
|
/* Item spacing */
|
||
|
typedef struct _ITEMSPACING {
|
||
|
int cxSmall;
|
||
|
int cySmall;
|
||
|
int cxLarge;
|
||
|
int cyLarge;
|
||
|
} ITEMSPACING;
|
||
|
|
||
|
/* SHCreateShellFolderView parameters */
|
||
|
typedef struct _SFV_CREATE {
|
||
|
UINT cbSize;
|
||
|
IShellFolder *pshf;
|
||
|
IShellView *psvOuter;
|
||
|
IShellFolderViewCB *psfvcb;
|
||
|
} SFV_CREATE;
|
||
|
|
||
|
/* Folder menu callback */
|
||
|
typedef HRESULT (CALLBACK *LPFNDFMCALLBACK)( IShellFolder *, HWND, IDataObject *, UINT, WPARAM, LPARAM );
|
||
|
|
||
|
/* Default context menu */
|
||
|
typedef struct {
|
||
|
HWND hwnd;
|
||
|
IContextMenuCB *pcmcb;
|
||
|
PCIDLIST_ABSOLUTE pidlFolder;
|
||
|
IShellFolder *psf;
|
||
|
UINT cidl;
|
||
|
PCUITEMID_CHILD_ARRAY apidl;
|
||
|
IUnknown *punkAssociationInfo;
|
||
|
UINT cKeys;
|
||
|
const HKEY *aKeys;
|
||
|
} DEFCONTEXTMENU;
|
||
|
|
||
|
/* DFM_INVOKECOMMANDEX parameters */
|
||
|
typedef struct {
|
||
|
DWORD cbSize;
|
||
|
DWORD fMask;
|
||
|
LPARAM lParam;
|
||
|
UINT idCmdFirst;
|
||
|
UINT idDefMax;
|
||
|
LPCMINVOKECOMMANDINFO pici;
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
IUnknown *punkSite;
|
||
|
#endif
|
||
|
} DFMICS;
|
||
|
typedef DFMICS *PDFMICS;
|
||
|
|
||
|
/* View callback */
|
||
|
typedef HRESULT (CALLBACK *LPFNVIEWCALLBACK)( IShellView *, IShellFolder *, HWND, UINT, WPARAM, LPARAM );
|
||
|
|
||
|
/* SHCreateShellFolderViewEx() parameters */
|
||
|
typedef struct _CSFV {
|
||
|
UINT cbSize;
|
||
|
IShellFolder *pshf;
|
||
|
IShellView *psvOuter;
|
||
|
PCIDLIST_ABSOLUTE pidl;
|
||
|
LONG lEvents;
|
||
|
LPFNVIEWCALLBACK pfnCallback;
|
||
|
FOLDERVIEWMODE fvm;
|
||
|
} CSFV;
|
||
|
typedef CSFV *LPCSFV;
|
||
|
|
||
|
/* SFVM_SETITEMPOS parameters */
|
||
|
typedef struct _SFV_SETITEMPOS {
|
||
|
PCUITEMID_CHILD pidl;
|
||
|
POINT pt;
|
||
|
} SFV_SETITEMPOS;
|
||
|
typedef SFV_SETITEMPOS *LPSFV_SETITEMPOS;
|
||
|
typedef const SFV_SETITEMPOS *LPCSFV_SETITEMPOS;
|
||
|
|
||
|
/* Revert to default packing. */
|
||
|
#include <poppack.h>
|
||
|
|
||
|
/* Shell state */
|
||
|
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;
|
||
|
BOOL fAutoCheckSelect : 1;
|
||
|
BOOL fIconsOnly : 1;
|
||
|
BOOL fShowTypeOverlay : 1;
|
||
|
UINT fSpareFlags : 11;
|
||
|
} SHELLSTATEA;
|
||
|
typedef SHELLSTATEA *LPSHELLSTATEA;
|
||
|
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;
|
||
|
BOOL fAutoCheckSelect : 1;
|
||
|
BOOL fIconsOnly : 1;
|
||
|
BOOL fShowTypeOverlay : 1;
|
||
|
UINT fSpareFlags : 11;
|
||
|
} SHELLSTATEW;
|
||
|
typedef SHELLSTATEW *LPSHELLSTATEW;
|
||
|
#ifdef UNICODE
|
||
|
typedef SHELLSTATEW SHELLSTATE;
|
||
|
typedef LPSHELLSTATEW LPSHELLSTATE;
|
||
|
#else
|
||
|
typedef SHELLSTATEA SHELLSTATE;
|
||
|
typedef LPSHELLSTATEA LPSHELLSTATE;
|
||
|
#endif
|
||
|
|
||
|
/* Shell flag state */
|
||
|
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;
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
BOOL fAutoCheckSelect : 1;
|
||
|
BOOL fIconsOnly : 1;
|
||
|
UINT fRestFlags : 1;
|
||
|
#else
|
||
|
UINT fRestFlags : 3;
|
||
|
#endif
|
||
|
} SHELLFLAGSTATE;
|
||
|
typedef SHELLFLAGSTATE *LPSHELLFLAGSTATE;
|
||
|
|
||
|
/* Shell menu file name */
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct tagAASHELLMENUFILENAME {
|
||
|
SHORT cbTotal;
|
||
|
BYTE rgbReserved[12];
|
||
|
WCHAR szFileName[1];
|
||
|
} AASHELLMENUFILENAME;
|
||
|
typedef AASHELLMENUFILENAME *LPAASHELLMENUFILENAME;
|
||
|
#include <poppack.h>
|
||
|
|
||
|
/* Shell menu item */
|
||
|
#include <pshpack8.h>
|
||
|
typedef struct tagAASHELLMENUITEM {
|
||
|
void *lpReserved1;
|
||
|
int iReserved;
|
||
|
UINT uiReserved;
|
||
|
LPAASHELLMENUFILENAME lpName;
|
||
|
LPWSTR psz;
|
||
|
} AASHELLMENUITEM;
|
||
|
typedef AASHELLMENUITEM *LPAASHELLMENUITEM;
|
||
|
#include <poppack.h>
|
||
|
|
||
|
/* Internet Explorer shortcut flags */
|
||
|
#if (_WIN32_IE >= 0x0700)
|
||
|
typedef enum tagIESHORTCUTFLAGS {
|
||
|
IESHORTCUT_NEWBROWSER = 0x00000001,
|
||
|
IESHORTCUT_OPENNEWTAB = 0x00000002,
|
||
|
IESHORTCUT_FORCENAVIGATE = 0x00000004,
|
||
|
IESHORTCUT_BACKGROUNDTAB = 0x00000008
|
||
|
} IESHORTCUTFLAGS;
|
||
|
#endif
|
||
|
|
||
|
/* IExtractIcon interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IExtractIconA
|
||
|
DECLARE_INTERFACE_( IExtractIconA, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IExtractIconA methods */
|
||
|
STDMETHOD( GetIconLocation )( THIS_ UINT, LPSTR, UINT, int *, UINT * ) PURE;
|
||
|
STDMETHOD( Extract )( THIS_ LPCSTR, UINT, HICON *, HICON *, UINT ) PURE;
|
||
|
};
|
||
|
typedef IExtractIconA *LPEXTRACTICONA;
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IExtractIconW
|
||
|
DECLARE_INTERFACE_( IExtractIconW, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IExtractIconW methods */
|
||
|
STDMETHOD( GetIconLocation )( THIS_ UINT, LPWSTR, UINT, int *, UINT * ) PURE;
|
||
|
STDMETHOD( Extract )( THIS_ LPCWSTR, UINT, HICON *, HICON *, UINT ) PURE;
|
||
|
};
|
||
|
typedef IExtractIconW *LPEXTRACTICONW;
|
||
|
#ifdef UNICODE
|
||
|
#define IExtractIcon IExtractIconW
|
||
|
#define IExtractIconVtbl IExtractIconWVtbl
|
||
|
#define LPEXTRACTICON LPEXTRACTICONW
|
||
|
#else
|
||
|
#define IExtractIcon IExtractIconA
|
||
|
#define IExtractIconVtbl IExtractIconAVtbl
|
||
|
#define LPEXTRACTICON LPEXTRACTICONA
|
||
|
#endif
|
||
|
|
||
|
/* IShellIconOverlayIdentifier interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellIconOverlayIdentifier
|
||
|
DECLARE_INTERFACE_( IShellIconOverlayIdentifier, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellIconOverlayIdentifier methods */
|
||
|
STDMETHOD( IsMemberOf )( THIS_ LPCWSTR, DWORD ) PURE;
|
||
|
STDMETHOD( GetOverlayInfo )( THIS_ LPWSTR, int, int *, DWORD * ) PURE;
|
||
|
STDMETHOD( GetPriority )( THIS_ int * ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IShellIconOverlayManager interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellIconOverlayManager
|
||
|
DECLARE_INTERFACE_( IShellIconOverlayManager, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellIconOverlayManager methods */
|
||
|
STDMETHOD( GetFileOverlayInfo )( THIS_ LPCWSTR, DWORD, int *, DWORD ) PURE;
|
||
|
STDMETHOD( GetReservedOverlayInfo )( THIS_ LPCWSTR, DWORD, int *, DWORD, int ) PURE;
|
||
|
STDMETHOD( RefreshOverlayImages )( THIS_ DWORD ) PURE;
|
||
|
STDMETHOD( LoadNonloadedOverlayIdentifiers )( THIS ) PURE;
|
||
|
STDMETHOD( OverlayIndexFromImageIndex )( THIS_ int, int *, BOOL ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IShellIconOverlay interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellIconOverlay
|
||
|
DECLARE_INTERFACE_( IShellIconOverlay, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellIconOverlay methods */
|
||
|
STDMETHOD( GetOverlayIndex )( THIS_ PCUITEMID_CHILD, int * ) PURE;
|
||
|
STDMETHOD( GetOverlayIconIndex )( THIS_ PCUITEMID_CHILD, int * ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IShellExecuteHook interface */
|
||
|
#ifdef _INC_SHELLAPI
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellExecuteHookA
|
||
|
DECLARE_INTERFACE_( IShellExecuteHookA, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellExecuteHookA methods */
|
||
|
STDMETHOD( Execute )( THIS_ LPSHELLEXECUTEINFOA ) PURE;
|
||
|
};
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellExecuteHookW
|
||
|
DECLARE_INTERFACE_( IShellExecuteHookW, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellExecuteHookW methods */
|
||
|
STDMETHOD( Execute )( THIS_ LPSHELLEXECUTEINFOW ) PURE;
|
||
|
};
|
||
|
#ifdef UNICODE
|
||
|
#define IShellExecuteHook IShellExecuteHookW
|
||
|
#define IShellExecuteHookVtbl IShellExecuteHookWVtbl
|
||
|
#else
|
||
|
#define IShellExecuteHook IShellExecuteHookA
|
||
|
#define IShellExecuteHookVtbl IShellExecuteHookAVtbl
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IURLSearchHook interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IURLSearchHook
|
||
|
DECLARE_INTERFACE_( IURLSearchHook, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IURLSearchHook methods */
|
||
|
STDMETHOD( Translate )( THIS_ LPWSTR, DWORD ) PURE;
|
||
|
};
|
||
|
|
||
|
/* ISearchContext interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE ISearchContext
|
||
|
DECLARE_INTERFACE_( ISearchContext, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* ISearchContext methods */
|
||
|
STDMETHOD( GetSearchUrl )( THIS_ BSTR * ) PURE;
|
||
|
STDMETHOD( GetSearchText )( THIS_ BSTR * ) PURE;
|
||
|
STDMETHOD( GetSearchStyle )( THIS_ DWORD * ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IURLSearchHook2 interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IURLSearchHook2
|
||
|
DECLARE_INTERFACE_( IURLSearchHook2, IURLSearchHook ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IURLSearchHook methods */
|
||
|
STDMETHOD( Translate )( THIS_ LPWSTR, DWORD ) PURE;
|
||
|
|
||
|
/* IURLSearchHook2 methods */
|
||
|
STDMETHOD( TranslateWithSearchContext )( THIS_ LPWSTR, DWORD, ISearchContext * ) PURE;
|
||
|
};
|
||
|
|
||
|
/* INewShortcutHook interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE INewShortcutHookA
|
||
|
DECLARE_INTERFACE_( INewShortcutHookA, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* INewShortcutHookA methods */
|
||
|
STDMETHOD( SetReferent )( THIS_ LPCSTR, HWND ) PURE;
|
||
|
STDMETHOD( GetReferent )( THIS_ LPSTR, int ) PURE;
|
||
|
STDMETHOD( SetFolder )( THIS_ LPCSTR ) PURE;
|
||
|
STDMETHOD( GetFolder )( THIS_ LPSTR, int ) PURE;
|
||
|
STDMETHOD( GetName )( THIS_ LPSTR, int ) PURE;
|
||
|
STDMETHOD( GetExtension )( THIS_ LPSTR, int ) PURE;
|
||
|
};
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE INewShortcutHookW
|
||
|
DECLARE_INTERFACE_( INewShortcutHookW, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* INewShortcutHookW methods */
|
||
|
STDMETHOD( SetReferent )( THIS_ LPCWSTR, HWND ) PURE;
|
||
|
STDMETHOD( GetReferent )( THIS_ LPWSTR, int ) PURE;
|
||
|
STDMETHOD( SetFolder )( THIS_ LPCWSTR ) PURE;
|
||
|
STDMETHOD( GetFolder )( THIS_ LPWSTR, int ) PURE;
|
||
|
STDMETHOD( GetName )( THIS_ LPWSTR, int ) PURE;
|
||
|
STDMETHOD( GetExtension )( THIS_ LPWSTR, int ) PURE;
|
||
|
};
|
||
|
#ifdef UNICODE
|
||
|
#define INewShortcutHook INewShortcutHookW
|
||
|
#define INewShortcutHookVtbl INewShortcutHookWVtbl
|
||
|
#else
|
||
|
#define INewShortcutHook INewShortcutHookA
|
||
|
#define INewShortcutHookVtbl INewShortcutHookAVtbl
|
||
|
#endif
|
||
|
|
||
|
/* ICopyHook interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE ICopyHookA
|
||
|
DECLARE_INTERFACE_( ICopyHookA, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* ICopyHookA methods */
|
||
|
STDMETHOD_( UINT, CopyCallback )( THIS_ HWND, UINT, UINT, LPCSTR, DWORD, LPCSTR, DWORD ) PURE;
|
||
|
};
|
||
|
typedef ICopyHookA *LPCOPYHOOKA;
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE ICopyHookW
|
||
|
DECLARE_INTERFACE_( ICopyHookW, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* ICopyHookW methods */
|
||
|
STDMETHOD_( UINT, CopyCallback )( THIS_ HWND, UINT, UINT, LPCWSTR, DWORD, LPCWSTR, DWORD ) PURE;
|
||
|
};
|
||
|
typedef ICopyHookW *LPCOPYHOOKW;
|
||
|
#ifdef UNICODE
|
||
|
#define ICopyHook ICopyHookW
|
||
|
#define ICopyHookVtbl ICopyHookWVtbl
|
||
|
#define LPCOPYHOOK LPCOPYHOOKW
|
||
|
#else
|
||
|
#define ICopyHook ICopyHookA
|
||
|
#define ICopyHookVtbl ICopyHookAVtbl
|
||
|
#define LPCOPYHOOK LPCOPYHOOKA
|
||
|
#endif
|
||
|
|
||
|
/* IFileViewerSite interface */
|
||
|
#if (NTDDI_VERSION < 0x05000000)
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IFileViewerSite
|
||
|
DECLARE_INTERFACE_( IFileViewerSite, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IFileViewerSite methods */
|
||
|
STDMETHOD( SetPinnedWindow )( THIS_ HWND ) PURE;
|
||
|
STDMETHOD( GetPinnedWindow )( THIS_ HWND * ) PURE;
|
||
|
};
|
||
|
typedef IFileViewerSite *LPFILEVIEWERSITE;
|
||
|
#endif
|
||
|
|
||
|
/* IFileViewer interface */
|
||
|
#if (NTDDI_VERSION < 0x05000000)
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IFileViewerA
|
||
|
DECLARE_INTERFACE_( IFileViewerA, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IFileViewerA methods */
|
||
|
STDMETHOD( ShowInitialize )( THIS_ LPFILEVIEWERSITE ) PURE;
|
||
|
STDMETHOD( Show )( THIS_ LPFVSHOWINFO ) PURE;
|
||
|
STDMETHOD( PrintTo )( THIS_ LPSTR, BOOL ) PURE;
|
||
|
};
|
||
|
typedef IFileViewerA *LPFILEVIEWERA;
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IFileViewerW
|
||
|
DECLARE_INTERFACE_( IFileViewerW, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IFileViewerW methods */
|
||
|
STDMETHOD( ShowInitialize )( THIS_ LPFILEVIEWERSITE ) PURE;
|
||
|
STDMETHOD( Show )( THIS_ LPFVSHOWINFO ) PURE;
|
||
|
STDMETHOD( PrintTo )( THIS_ LPWSTR, BOOL ) PURE;
|
||
|
};
|
||
|
typedef IFileViewerW *LPFILEVIEWERW;
|
||
|
#ifdef UNICODE
|
||
|
#define IFileViewer IFileViewerW
|
||
|
#define LPFILEVIEWER LPFILEVIEWERW
|
||
|
#else
|
||
|
#define IFileViewer IFileViewerA
|
||
|
#define LPFILEVIEWER LPFILEVIEWERA
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IShellDetails interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellDetails
|
||
|
DECLARE_INTERFACE_( IShellDetails, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellDetails methods */
|
||
|
STDMETHOD( GetDetailsOf )( THIS_ PCUITEMID_CHILD, UINT, SHELLDETAILS * ) PURE;
|
||
|
STDMETHOD( ColumnClick )( THIS_ UINT ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IObjMgr interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IObjMgr
|
||
|
DECLARE_INTERFACE_( IObjMgr, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IObjMgr methods */
|
||
|
STDMETHOD( Append )( THIS_ IUnknown * ) PURE;
|
||
|
STDMETHOD( Remove )( THIS_ IUnknown * ) PURE;
|
||
|
};
|
||
|
|
||
|
/* ICurrentWorkingDirectory interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE ICurrentWorkingDirectory
|
||
|
DECLARE_INTERFACE_( ICurrentWorkingDirectory, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* ICurrentWorkingDirectory methods */
|
||
|
STDMETHOD( GetDirectory )( THIS_ LPWSTR, DWORD ) PURE;
|
||
|
STDMETHOD( SetDirectory )( THIS_ LPCWSTR ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IACList interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IACList
|
||
|
DECLARE_INTERFACE_( IACList, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IACList methods */
|
||
|
STDMETHOD( Expand )( THIS_ LPCWSTR ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IACList2 interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IACList2
|
||
|
DECLARE_INTERFACE_( IACList2, IACList ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IACList methods */
|
||
|
STDMETHOD( Expand )( THIS_ LPCWSTR ) PURE;
|
||
|
|
||
|
/* IACList2 methods */
|
||
|
STDMETHOD( SetOptions )( THIS_ DWORD ) PURE;
|
||
|
STDMETHOD( GetOptions )( THIS_ DWORD * ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IProgressDialog interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IProgressDialog
|
||
|
DECLARE_INTERFACE_( IProgressDialog, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IProgressDialog methods */
|
||
|
STDMETHOD( StartProgressDialog )( THIS_ HWND, IUnknown *, DWORD, LPCVOID ) PURE;
|
||
|
STDMETHOD( StopProgressDialog )( THIS ) PURE;
|
||
|
STDMETHOD( SetTitle )( THIS_ LPCWSTR ) PURE;
|
||
|
STDMETHOD( SetAnimation )( THIS_ HINSTANCE, UINT ) PURE;
|
||
|
STDMETHOD_( BOOL, HasUserCancelled )( THIS ) PURE;
|
||
|
STDMETHOD( SetProgress )( THIS_ DWORD, DWORD ) PURE;
|
||
|
STDMETHOD( SetProgress64 )( THIS_ ULONGLONG, ULONGLONG ) PURE;
|
||
|
STDMETHOD( SetLine )( THIS_ DWORD, LPCWSTR, BOOL, LPCVOID ) PURE;
|
||
|
STDMETHOD( SetCancelMsg )( THIS_ LPCWSTR, LPCVOID ) PURE;
|
||
|
STDMETHOD( Timer )( THIS_ DWORD, LPCVOID ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IDockingWindowSite interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IDockingWindowSite
|
||
|
DECLARE_INTERFACE_( IDockingWindowSite, IOleWindow ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IOleWindow methods */
|
||
|
STDMETHOD( GetWindow )( THIS_ HWND * ) PURE;
|
||
|
STDMETHOD( ContextSensitiveHelp )( THIS_ BOOL ) PURE;
|
||
|
|
||
|
/* IDockingWindowSite methods */
|
||
|
STDMETHOD( GetBorderDW )( THIS_ IUnknown *, LPRECT ) PURE;
|
||
|
STDMETHOD( RequestBorderSpaceDW )( THIS_ IUnknown *, LPCBORDERWIDTHS ) PURE;
|
||
|
STDMETHOD( SetBorderSpaceDW )( THIS_ IUnknown *, LPCBORDERWIDTHS ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IDockingWindowFrame interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IDockingWindowFrame
|
||
|
DECLARE_INTERFACE_( IDockingWindowFrame, IOleWindow ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IOleWindow methods */
|
||
|
STDMETHOD( GetWindow )( THIS_ HWND * ) PURE;
|
||
|
STDMETHOD( ContextSensitiveHelp )( THIS_ BOOL ) PURE;
|
||
|
|
||
|
/* IDockingWindowFrame methods */
|
||
|
STDMETHOD( AddToolbar )( THIS_ IUnknown *, LPCWSTR, DWORD ) PURE;
|
||
|
STDMETHOD( RemoveToolbar )( THIS_ IUnknown *, DWORD ) PURE;
|
||
|
STDMETHOD( FindToolbar )( THIS_ LPCWSTR, REFIID, void ** ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IThumbnailCapture interface */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IThumbnailCapture
|
||
|
DECLARE_INTERFACE_( IThumbnailCapture, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IThumbnailCapture methods */
|
||
|
STDMETHOD( CaptureThumbnail )( THIS_ const SIZE *, IUnknown *, HBITMAP * ) PURE;
|
||
|
};
|
||
|
typedef IThumbnailCapture *LPTHUMBNAILCAPTURE;
|
||
|
#endif
|
||
|
|
||
|
/* IEnumShellImageStore interface */
|
||
|
#if (NTDDI_VERSION >= 0x05000000) && (NTDDI_VERSION < 0x06000000)
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IEnumShellImageStore
|
||
|
DECLARE_INTERFACE_( IEnumShellImageStore, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IEnumShellImageStore methods */
|
||
|
STDMETHOD( Reset )( THIS ) PURE;
|
||
|
STDMETHOD( Next )( THIS_ ULONG, PENUMSHELLIMAGESTOREDATA *, ULONG * ) PURE;
|
||
|
STDMETHOD( Skip )( THIS_ ULONG ) PURE;
|
||
|
STDMETHOD( Clone )( THIS_ IEnumShellImageStore ** ) PURE;
|
||
|
};
|
||
|
typedef IEnumShellImageStore *LPENUMSHELLIMAGESTORE;
|
||
|
#endif
|
||
|
|
||
|
/* IShellImageStore interface */
|
||
|
#if (NTDDI_VERSION >= 0x05000000) && (NTDDI_VERSION < 0x06000000)
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellImageStore
|
||
|
DECLARE_INTERFACE_( IShellImageStore, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellImageStore methods */
|
||
|
STDMETHOD( Open )( THIS_ DWORD, DWORD * ) PURE;
|
||
|
STDMETHOD( Create )( THIS_ DWORD, DWORD * ) PURE;
|
||
|
STDMETHOD( ReleaseLock )( THIS_ const DWORD * ) PURE;
|
||
|
STDMETHOD( Close )( THIS_ const DWORD * ) PURE;
|
||
|
STDMETHOD( Commit )( THIS_ const DWORD * ) PURE;
|
||
|
STDMETHOD( IsLocked )( THIS ) PURE;
|
||
|
STDMETHOD( GetMode )( THIS_ DWORD * ) PURE;
|
||
|
STDMETHOD( GetCapabilities )( THIS_ DWORD * ) PURE;
|
||
|
STDMETHOD( AddEntry )( THIS_ LPCWSTR, const FILETIME *, DWORD, HBITMAP ) PURE;
|
||
|
STDMETHOD( GetEntry )( THIS_ LPCWSTR, DWORD, HBITMAP * ) PURE;
|
||
|
STDMETHOD( DeleteEntry )( THIS_ LPCWSTR ) PURE;
|
||
|
STDMETHOD( IsEntryInStore )( THIS_ LPCWSTR, FILETIME * ) PURE;
|
||
|
STDMETHOD( Enum )( THIS_ LPENUMSHELLIMAGESTORE * ) PURE;
|
||
|
};
|
||
|
typedef IShellImageStore *LPSHELLIMAGESTORE;
|
||
|
#endif
|
||
|
|
||
|
/* IShellFolderBand interface */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellFolderBand
|
||
|
DECLARE_INTERFACE_( IShellFolderBand, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellFolderBand methods */
|
||
|
STDMETHOD( InitializeSFB )( THIS_ IShellFolder *, PCIDLIST_ABSOLUTE ) PURE;
|
||
|
STDMETHOD( SetBandInfoSFB )( THIS_ PBANDINFOSFB ) PURE;
|
||
|
STDMETHOD( GetBandInfoSFB )( THIS_ PBANDINFOSFB ) PURE;
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
/* IDeskBarClient interface */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IDeskBarClient
|
||
|
DECLARE_INTERFACE_( IDeskBarClient, IOleWindow ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IOleWindow methods */
|
||
|
STDMETHOD( GetWindow )( THIS_ HWND * ) PURE;
|
||
|
STDMETHOD( ContextSensitiveHelp )( THIS_ BOOL ) PURE;
|
||
|
|
||
|
/* IDeskBarClient methods */
|
||
|
STDMETHOD( SetDeskBarSite )( THIS_ IUnknown * ) PURE;
|
||
|
STDMETHOD( SetModeDBC )( THIS_ DWORD ) PURE;
|
||
|
STDMETHOD( UIActivateDBC )( THIS_ DWORD ) PURE;
|
||
|
STDMETHOD( GetSize )( THIS_ DWORD, LPRECT ) PURE;
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
/* IActiveDesktop interface */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IActiveDesktop
|
||
|
DECLARE_INTERFACE_( IActiveDesktop, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IActiveDesktop methods */
|
||
|
STDMETHOD( ApplyChanges )( THIS_ DWORD ) PURE;
|
||
|
STDMETHOD( GetWallpaper )( THIS_ LPWSTR, UINT, DWORD ) PURE;
|
||
|
STDMETHOD( SetWallpaper )( THIS_ LPCWSTR, DWORD ) PURE;
|
||
|
STDMETHOD( GetWallpaperOptions )( THIS_ LPWALLPAPEROPT, DWORD ) PURE;
|
||
|
STDMETHOD( SetWallpaperOptions )( THIS_ LPCWALLPAPEROPT, DWORD ) PURE;
|
||
|
STDMETHOD( GetPattern )( THIS_ LPWSTR, UINT, DWORD ) PURE;
|
||
|
STDMETHOD( SetPattern )( THIS_ LPCWSTR, DWORD ) PURE;
|
||
|
STDMETHOD( GetDesktopItemOptions )( THIS_ LPCOMPONENTSOPT, DWORD ) PURE;
|
||
|
STDMETHOD( SetDesktopItemOptions )( THIS_ LPCCOMPONENTSOPT, DWORD ) PURE;
|
||
|
STDMETHOD( AddDesktopItem )( THIS_ LPCCOMPONENT, DWORD ) PURE;
|
||
|
STDMETHOD( AddDesktopItemWithUI )( THIS_ HWND, LPCOMPONENT, DWORD ) PURE;
|
||
|
STDMETHOD( ModifyDesktopItem )( THIS_ LPCCOMPONENT, DWORD ) PURE;
|
||
|
STDMETHOD( RemoveDesktopItem )( THIS_ LPCCOMPONENT, DWORD ) PURE;
|
||
|
STDMETHOD( GetDesktopItemCount )( THIS_ LPINT, DWORD ) PURE;
|
||
|
STDMETHOD( GetDesktopItem )( THIS_ int, LPCOMPONENT, DWORD ) PURE;
|
||
|
STDMETHOD( GetDesktopItemByID )( THIS_ ULONG_PTR, LPCOMPONENT, DWORD ) PURE;
|
||
|
STDMETHOD( GenerateDesktopItemHtml )( THIS_ LPCWSTR, LPCOMPONENT, DWORD ) PURE;
|
||
|
STDMETHOD( AddUrl )( THIS_ HWND, LPCWSTR, LPCOMPONENT, DWORD ) PURE;
|
||
|
STDMETHOD( GetDesktopItemBySource )( THIS_ LPCWSTR, LPCOMPONENT, DWORD ) PURE;
|
||
|
};
|
||
|
typedef IActiveDesktop *LPACTIVEDESKTOP;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IActiveDesktopP interface */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IActiveDesktopP
|
||
|
DECLARE_INTERFACE_( IActiveDesktopP, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IActiveDesktopP methods */
|
||
|
STDMETHOD( SetSafeMode )( THIS_ DWORD ) PURE;
|
||
|
STDMETHOD( EnsureUpdateHTML )( THIS ) PURE;
|
||
|
STDMETHOD( SetScheme )( THIS_ LPCWSTR, DWORD ) PURE;
|
||
|
STDMETHOD( GetScheme )( THIS_ LPWSTR, DWORD *, DWORD ) PURE;
|
||
|
};
|
||
|
typedef IActiveDesktopP *LPACTIVEDESKTOPP;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IADesktopP2 interface */
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#ifdef _WININET_
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IADesktopP2
|
||
|
DECLARE_INTERFACE_( IADesktopP2, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IADesktopP2 methods */
|
||
|
STDMETHOD( ReReadWallpaper )( THIS ) PURE;
|
||
|
STDMETHOD( GetADObjectFlags )( THIS_ DWORD *, DWORD ) PURE;
|
||
|
STDMETHOD( UpdateAllDesktopSubscriptions )( THIS ) PURE;
|
||
|
STDMETHOD( MakeDynamicChanges )( THIS_ IOleObject * ) PURE;
|
||
|
};
|
||
|
typedef IADesktopP2 *LPADESKTOPP2;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/* IColumnProvider interface */
|
||
|
#if (_WIN32_IE >= 0x0500)
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IColumnProvider
|
||
|
DECLARE_INTERFACE_( IColumnProvider, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IColumnProvider methods */
|
||
|
STDMETHOD( Initialize )( THIS_ LPCSHCOLUMNINIT ) PURE;
|
||
|
STDMETHOD( GetColumnInfo )( THIS_ DWORD, SHCOLUMNINFO * ) PURE;
|
||
|
STDMETHOD( GetItemData )( THIS_ LPCSHCOLUMNID, LPCSHCOLUMNDATA, VARIANT * ) PURE;
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
/* IShellChangeNotify interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellChangeNotify
|
||
|
DECLARE_INTERFACE_( IShellChangeNotify, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellChangeNotify methods */
|
||
|
STDMETHOD( OnChange )( THIS_ LONG, PCIDLIST_ABSOLUTE, PCIDLIST_ABSOLUTE ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IQueryInfo interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IQueryInfo
|
||
|
DECLARE_INTERFACE_( IQueryInfo, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IQueryInfo methods */
|
||
|
STDMETHOD( GetInfoTip )( THIS_ DWORD, WCHAR ** ) PURE;
|
||
|
STDMETHOD( GetInfoFlags )( THIS_ DWORD * ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IDefViewFrame interface */
|
||
|
#if (NTDDI_VERSION >= 0x05000000) && (NTDDI_VERSION < 0x06000000)
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IDefViewFrame
|
||
|
DECLARE_INTERFACE_( IDefViewFrame, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IDefViewFrame methods */
|
||
|
STDMETHOD( GetWindowLV )( THIS_ HWND * ) PURE;
|
||
|
STDMETHOD( ReleaseWindowLV )( THIS ) PURE;
|
||
|
STDMETHOD( GetShellFolder )( THIS_ IShellFolder ** ) PURE;
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
/* IDocViewSite interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IDocViewSite
|
||
|
DECLARE_INTERFACE_( IDocViewSite, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IDocViewSite methods */
|
||
|
STDMETHOD( OnSetTitle )( THIS_ VARIANTARG * ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IInitializeObject interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IInitializeObject
|
||
|
DECLARE_INTERFACE_( IInitializeObject, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IInitializeObject methods */
|
||
|
STDMETHOD( Initialize )( THIS ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IBanneredBar interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IBanneredBar
|
||
|
DECLARE_INTERFACE_( IBanneredBar, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IBanneredBar methods */
|
||
|
STDMETHOD( SetIconSize )( THIS_ DWORD ) PURE;
|
||
|
STDMETHOD( GetIconSize )( THIS_ DWORD * ) PURE;
|
||
|
STDMETHOD( SetBitmap )( THIS_ HBITMAP ) PURE;
|
||
|
STDMETHOD( GetBitmap )( THIS_ HBITMAP * ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IShellFolderViewCB interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellFolderViewCB
|
||
|
DECLARE_INTERFACE_( IShellFolderViewCB, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellFolderViewCB methods */
|
||
|
STDMETHOD( MessageSFVCB )( THIS_ UINT, WPARAM, LPARAM ) PURE;
|
||
|
};
|
||
|
|
||
|
/* IShellFolderView interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IShellFolderView
|
||
|
DECLARE_INTERFACE_( IShellFolderView, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* IShellFolderView methods */
|
||
|
STDMETHOD( Rearrange )( THIS_ LPARAM ) PURE;
|
||
|
STDMETHOD( GetArrangeParam )( THIS_ LPARAM * ) PURE;
|
||
|
STDMETHOD( ArrangeGrid )( THIS ) PURE;
|
||
|
STDMETHOD( AutoArrange )( THIS ) PURE;
|
||
|
STDMETHOD( GetAutoArrange )( THIS ) PURE;
|
||
|
STDMETHOD( AddObject )( THIS_ PUITEMID_CHILD, UINT * ) PURE;
|
||
|
STDMETHOD( GetObject )( THIS_ PITEMID_CHILD *, UINT ) PURE;
|
||
|
STDMETHOD( RemoveObject )( THIS_ PUITEMID_CHILD, UINT * ) PURE;
|
||
|
STDMETHOD( GetObjectCount )( THIS_ UINT * ) PURE;
|
||
|
STDMETHOD( SetObjectCount )( THIS_ UINT, UINT ) PURE;
|
||
|
STDMETHOD( UpdateObject )( THIS_ PUITEMID_CHILD, PUITEMID_CHILD, UINT * ) PURE;
|
||
|
STDMETHOD( RefreshObject )( THIS_ PUITEMID_CHILD, UINT * ) PURE;
|
||
|
STDMETHOD( SetRedraw )( THIS_ BOOL ) PURE;
|
||
|
STDMETHOD( GetSelectedCount )( THIS_ UINT * ) PURE;
|
||
|
STDMETHOD( GetSelectedObjects )( THIS_ PCUITEMID_CHILD **, UINT * ) PURE;
|
||
|
STDMETHOD( IsDropOnSource )( THIS_ IDropTarget * ) PURE;
|
||
|
STDMETHOD( GetDragPoint )( THIS_ POINT * ) PURE;
|
||
|
STDMETHOD( GetDropPoint )( THIS_ POINT * ) PURE;
|
||
|
STDMETHOD( MoveIcons )( THIS_ IDataObject * ) PURE;
|
||
|
STDMETHOD( SetItemPos )( THIS_ PCUITEMID_CHILD, POINT * ) PURE;
|
||
|
STDMETHOD( IsBkDropTarget )( THIS_ IDropTarget * ) PURE;
|
||
|
STDMETHOD( SetClipboard )( THIS_ BOOL ) PURE;
|
||
|
STDMETHOD( SetPoints )( THIS_ IDataObject * ) PURE;
|
||
|
STDMETHOD( GetItemSpacing )( THIS_ ITEMSPACING * ) PURE;
|
||
|
STDMETHOD( SetCallback )( THIS_ IShellFolderViewCB *, IShellFolderViewCB ** ) PURE;
|
||
|
STDMETHOD( Select )( THIS_ UINT ) PURE;
|
||
|
STDMETHOD( QuerySupport )( THIS_ UINT * ) PURE;
|
||
|
STDMETHOD( SetAutomationObject )( THIS_ IDispatch * ) PURE;
|
||
|
};
|
||
|
|
||
|
/* INamedPropertyBag interface */
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE INamedPropertyBag
|
||
|
DECLARE_INTERFACE_( INamedPropertyBag, IUnknown ) {
|
||
|
/* IUnknown methods */
|
||
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
||
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
||
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
||
|
|
||
|
/* INamedPropertyBag methods */
|
||
|
STDMETHOD( ReadPropertyNPB )( THIS_ LPCWSTR, LPCWSTR, PROPVARIANT * ) PURE;
|
||
|
STDMETHOD( WritePropertyNPB )( THIS_ LPCWSTR, LPCWSTR, PROPVARIANT * ) PURE;
|
||
|
STDMETHOD( RemovePropertyNPB )( THIS_ LPCWSTR, LPCWSTR ) PURE;
|
||
|
};
|
||
|
|
||
|
/* Functions in SHELL32.DLL */
|
||
|
SHSTDAPI CDefFolderMenu_Create2( PCIDLIST_ABSOLUTE, HWND, UINT, PCUITEMID_CHILD_ARRAY, IShellFolder *, LPFNDFMCALLBACK, UINT, const HKEY *, IContextMenu ** );
|
||
|
SHSTDAPI CIDLData_CreateFromIDArray( PCIDLIST_ABSOLUTE, UINT, PCUIDLIST_RELATIVE_ARRAY, IDataObject ** );
|
||
|
SHSTDAPI_( BOOL ) DAD_AutoScroll( HWND, AUTO_SCROLL_DATA *, const POINT * );
|
||
|
SHSTDAPI_( BOOL ) DAD_DragEnterEx( HWND, POINT );
|
||
|
SHSTDAPI_( BOOL ) DAD_DragEnterEx2( HWND, POINT, IDataObject * );
|
||
|
SHSTDAPI_( BOOL ) DAD_DragLeave( void );
|
||
|
SHSTDAPI_( BOOL ) DAD_DragMove( POINT );
|
||
|
SHSTDAPI_( BOOL ) DAD_SetDragImage( HIMAGELIST, POINT * );
|
||
|
SHSTDAPI_( BOOL ) DAD_ShowDragImage( BOOL );
|
||
|
SHSTDAPI_( int ) DriveType( int );
|
||
|
SHSTDAPI_( BOOL ) GetFileNameFromBrowse( HWND, LPWSTR, UINT, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR );
|
||
|
SHSTDAPI_( PIDLIST_RELATIVE ) ILAppendID( PIDLIST_RELATIVE, LPCSHITEMID, BOOL );
|
||
|
SHSTDAPI_( PIDLIST_RELATIVE ) ILClone( PCUIDLIST_RELATIVE );
|
||
|
SHSTDAPI_( PITEMID_CHILD ) ILCloneFirst( PCUIDLIST_RELATIVE );
|
||
|
SHSTDAPI_( PIDLIST_ABSOLUTE ) ILCombine( PCIDLIST_ABSOLUTE, PCUIDLIST_RELATIVE );
|
||
|
SHSTDAPI_( PUIDLIST_RELATIVE ) ILFindChild( PCIDLIST_ABSOLUTE, PCIDLIST_ABSOLUTE );
|
||
|
SHSTDAPI_( PUITEMID_CHILD ) ILFindLastID( PCUIDLIST_RELATIVE );
|
||
|
SHSTDAPI_( void ) ILFree( PIDLIST_RELATIVE );
|
||
|
SHSTDAPI_( PUIDLIST_RELATIVE ) ILGetNext( PCUIDLIST_RELATIVE );
|
||
|
SHSTDAPI_( UINT ) ILGetSize( PCUIDLIST_RELATIVE );
|
||
|
SHSTDAPI_( BOOL ) ILIsEqual( PCIDLIST_ABSOLUTE, PCIDLIST_ABSOLUTE );
|
||
|
SHSTDAPI_( BOOL ) ILIsParent( PCIDLIST_ABSOLUTE, PCIDLIST_ABSOLUTE, BOOL );
|
||
|
SHSTDAPI ILLoadFromStream( IStream *, PIDLIST_RELATIVE * );
|
||
|
SHSTDAPI_( BOOL ) ILRemoveLastID( PUIDLIST_RELATIVE );
|
||
|
SHSTDAPI ILSaveToStream( IStream *, PCUIDLIST_RELATIVE );
|
||
|
SHSTDAPI_( int ) IsNetDrive( int );
|
||
|
SHSTDAPI_( BOOL ) IsUserAnAdmin( void );
|
||
|
SHSTDAPI_( IStream * ) OpenRegStream( HKEY, LPCWSTR, LPCWSTR, DWORD );
|
||
|
SHSTDAPI_( int ) PathCleanupSpec( LPCWSTR, LPWSTR );
|
||
|
SHSTDAPI_( void ) PathGetShortPath( LPWSTR );
|
||
|
SHSTDAPI_( BOOL ) PathIsExe( LPCWSTR );
|
||
|
SHSTDAPI_( BOOL ) PathIsSlowA( LPCSTR, DWORD );
|
||
|
SHSTDAPI_( BOOL ) PathIsSlowW( LPCWSTR, DWORD );
|
||
|
SHSTDAPI_( BOOL ) PathMakeUniqueName( LPWSTR, UINT, LPCWSTR, LPCWSTR, LPCWSTR );
|
||
|
SHSTDAPI_( void ) PathQualify( LPWSTR );
|
||
|
SHSTDAPI_( int ) PathResolve( LPWSTR, PZPCWSTR, UINT );
|
||
|
SHSTDAPI_( BOOL ) PathYetAnotherMakeUniqueName( LPWSTR, LPCWSTR, LPCWSTR, LPCWSTR );
|
||
|
SHSTDAPI_( int ) PickIconDlg( HWND, LPWSTR, UINT, int * );
|
||
|
SHSTDAPI_( HANDLE ) PifMgr_CloseProperties( HANDLE, UINT );
|
||
|
SHSTDAPI_( int ) PifMgr_GetProperties( HANDLE, LPCSTR, void *, int, UINT );
|
||
|
SHSTDAPI_( HANDLE ) PifMgr_OpenProperties( LPCWSTR, LPCWSTR, UINT, UINT );
|
||
|
SHSTDAPI_( int ) PifMgr_SetProperties( HANDLE, LPCSTR, const void *, int, UINT );
|
||
|
SHSTDAPI_( BOOL ) ReadCabinetState( CABINETSTATE *, int );
|
||
|
SHSTDAPI_( int ) RealDriveType( int, BOOL );
|
||
|
SHSTDAPI_( int ) RestartDialog( HWND, LPCWSTR, DWORD );
|
||
|
SHSTDAPI_( UINT ) SHAddFromPropSheetExtArray( HPSXA, LPFNADDPROPSHEETPAGE, LPARAM );
|
||
|
SHSTDAPI_( void ) SHAddToRecentDocs( UINT, LPCVOID );
|
||
|
SHSTDAPI_( void * ) SHAlloc( SIZE_T );
|
||
|
SHSTDAPI SHBindToParent( PCIDLIST_ABSOLUTE, REFIID, void **, PCUITEMID_CHILD * );
|
||
|
SHSTDAPI_( PIDLIST_ABSOLUTE ) SHBrowseForFolderA( LPBROWSEINFOA );
|
||
|
SHSTDAPI_( PIDLIST_ABSOLUTE ) SHBrowseForFolderW( LPBROWSEINFOW );
|
||
|
SHSTDAPI SHCLSIDFromString( LPCWSTR, CLSID * );
|
||
|
SHSTDAPI SHCoCreateInstance( LPCWSTR, const CLSID *, IUnknown *, REFIID, void ** );
|
||
|
SHSTDAPI_( HANDLE ) SHChangeNotification_Lock( HANDLE, DWORD, PIDLIST_ABSOLUTE **, LONG * );
|
||
|
SHSTDAPI_( BOOL ) SHChangeNotification_Unlock( HANDLE );
|
||
|
SHSTDAPI_( void ) SHChangeNotify( LONG, UINT, LPCVOID, LPCVOID );
|
||
|
SHSTDAPI_( BOOL ) SHChangeNotifyDeregister( unsigned long );
|
||
|
SHSTDAPI_( ULONG ) SHChangeNotifyRegister( HWND, int, LONG, UINT, int, const SHChangeNotifyEntry * );
|
||
|
SHSTDAPI_( PIDLIST_ABSOLUTE ) SHCloneSpecialIDList( HWND, int, BOOL );
|
||
|
SHSTDAPI_( int ) SHCreateDirectory( HWND, LPCWSTR );
|
||
|
SHSTDAPI_( int ) SHCreateDirectoryExA( HWND, LPCSTR, const SECURITY_ATTRIBUTES * );
|
||
|
SHSTDAPI_( int ) SHCreateDirectoryExW( HWND, LPCWSTR, const SECURITY_ATTRIBUTES * );
|
||
|
SHSTDAPI_( HPSXA ) SHCreatePropSheetExtArray( HKEY, LPCWSTR, UINT );
|
||
|
SHSTDAPI SHCreateQueryCancelAutoPlayMoniker( IMoniker ** );
|
||
|
SHSTDAPI SHCreateShellFolderView( const SFV_CREATE *, IShellView ** );
|
||
|
SHSTDAPI SHCreateShellFolderViewEx( LPCSFV, IShellView ** );
|
||
|
SHSTDAPI SHCreateStdEnumFmtEtc( UINT, const FORMATETC [], IEnumFORMATETC ** );
|
||
|
SHSTDAPI SHDefExtractIconA( LPCSTR, int, UINT, HICON *, HICON *, UINT );
|
||
|
SHSTDAPI SHDefExtractIconW( LPCWSTR, int, UINT, HICON *, HICON *, UINT );
|
||
|
SHSTDAPI_( void ) SHDestroyPropSheetExtArray( HPSXA );
|
||
|
SHSTDAPI SHDoDragDrop( HWND, IDataObject *, IDropSource *, DWORD, DWORD * );
|
||
|
SHSTDAPI_( BOOL ) SHFindFiles( PCIDLIST_ABSOLUTE, PCIDLIST_ABSOLUTE );
|
||
|
SHSTDAPI_( IContextMenu * ) SHFind_InitMenuPopup( HMENU, HWND, UINT, UINT );
|
||
|
SHSTDAPI SHFormatDrive( HWND, UINT, UINT, UINT );
|
||
|
SHSTDAPI_( void ) SHFree( void * );
|
||
|
SHSTDAPI SHGetDataFromIDListA( IShellFolder *, PCUITEMID_CHILD, int, void *, int );
|
||
|
SHSTDAPI SHGetDataFromIDListW( IShellFolder *, PCUITEMID_CHILD, int, void *, int );
|
||
|
SHSTDAPI SHGetDesktopFolder( IShellFolder ** );
|
||
|
SHSTDAPI_( int ) SHGetIconOverlayIndexA( LPCSTR, int );
|
||
|
SHSTDAPI_( int ) SHGetIconOverlayIndexW( LPCWSTR, int );
|
||
|
SHSTDAPI SHGetInstanceExplorer( IUnknown ** );
|
||
|
SHSTDAPI SHGetMalloc( IMalloc ** );
|
||
|
SHSTDAPI_( BOOL ) SHGetPathFromIDListA( PCIDLIST_ABSOLUTE, LPSTR );
|
||
|
SHSTDAPI_( BOOL ) SHGetPathFromIDListW( PCIDLIST_ABSOLUTE, LPWSTR );
|
||
|
SHSTDAPI_( void ) SHGetSetSettings( LPSHELLSTATE, DWORD, BOOL );
|
||
|
SHSTDAPI_( void ) SHGetSettings( SHELLFLAGSTATE *, DWORD );
|
||
|
SHSTDAPI SHGetSpecialFolderLocation( HWND, int, PIDLIST_ABSOLUTE * );
|
||
|
SHSTDAPI_( BOOL ) SHGetSpecialFolderPathA( HWND, LPSTR, int, BOOL );
|
||
|
SHSTDAPI_( BOOL ) SHGetSpecialFolderPathW( HWND, LPWSTR, int, BOOL );
|
||
|
SHSTDAPI SHILCreateFromPath( LPCWSTR, PIDLIST_ABSOLUTE *, DWORD * );
|
||
|
SHSTDAPI SHLoadInProc( REFCLSID );
|
||
|
SHSTDAPI_( int ) SHMapPIDLToSystemImageListIndex( IShellFolder *, PCUITEMID_CHILD, int * );
|
||
|
SHSTDAPI_( BOOL ) SHObjectProperties( HWND, DWORD, PCWSTR, PCWSTR );
|
||
|
SHSTDAPI_( BOOL ) SHOpenPropSheetW( LPCWSTR, HKEY [], UINT, const CLSID *, IDataObject *, IShellBrowser *, LPCWSTR );
|
||
|
SHSTDAPI SHPathPrepareForWriteA( HWND, IUnknown *, LPCSTR, DWORD );
|
||
|
SHSTDAPI SHPathPrepareForWriteW( HWND, IUnknown *, LPCWSTR, DWORD );
|
||
|
SHSTDAPI SHPropStgCreate( IPropertySetStorage *, REFFMTID, const CLSID *, DWORD, DWORD, DWORD, IPropertyStorage **, UINT * );
|
||
|
SHSTDAPI SHPropStgReadMultiple( IPropertyStorage *, UINT, ULONG, const PROPSPEC [], PROPVARIANT [] );
|
||
|
SHSTDAPI SHPropStgWriteMultiple( IPropertyStorage *, UINT *, ULONG, const PROPSPEC [], PROPVARIANT [], PROPID );
|
||
|
SHSTDAPI_( UINT ) SHReplaceFromPropSheetExtArray( HPSXA, UINT, LPFNADDPROPSHEETPAGE, LPARAM );
|
||
|
SHSTDAPI_( DWORD ) SHRestricted( RESTRICTIONS );
|
||
|
SHSTDAPI_( BOOL ) SHRunControlPanel( LPCWSTR, HWND );
|
||
|
SHSTDAPI_( void ) SHSetInstanceExplorer( IUnknown * );
|
||
|
SHSTDAPI_( LRESULT ) SHShellFolderView_Message( HWND, UINT, LPARAM );
|
||
|
SHSTDAPI SHStartNetConnectionDialogW( HWND, LPCWSTR, DWORD );
|
||
|
SHSTDAPI_( BOOL ) SHValidateUNC( HWND, LPWSTR, UINT );
|
||
|
SHSTDAPI_( BOOL ) Shell_GetImageLists( HIMAGELIST *, HIMAGELIST * );
|
||
|
SHSTDAPI_( UINT ) Shell_MergeMenus( HMENU, HMENU, UINT, UINT, UINT, ULONG );
|
||
|
SHSTDAPI_( BOOL ) SignalFileOpen( PCIDLIST_ABSOLUTE );
|
||
|
SHSTDAPI_( BOOL ) Win32DeleteFile( LPCWSTR );
|
||
|
SHSTDAPI_( BOOL ) WriteCabinetState( CABINETSTATE * );
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
SHSTDAPI_( PIDLIST_ABSOLUTE ) ILCreateFromPathA( LPCSTR );
|
||
|
SHSTDAPI_( PIDLIST_ABSOLUTE ) ILCreateFromPathW( LPCWSTR );
|
||
|
SHSTDAPI SHGetRealIDL( IShellFolder *, PCUITEMID_CHILD, PITEMID_CHILD * );
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION < 0x06000000)
|
||
|
SHSTDAPI_( LONG ) PathProcessCommand( LPCWSTR, LPWSTR, int, DWORD );
|
||
|
SHSTDAPI SHLoadOLE( LPARAM );
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05000000)
|
||
|
SHSTDAPI_( void ) SHFlushSFCache( void );
|
||
|
SHSTDAPI SHGetFolderLocation( HWND, int, HANDLE, DWORD, PIDLIST_ABSOLUTE * );
|
||
|
SHSTDAPI_( int ) SHHandleUpdateImage( PCIDLIST_ABSOLUTE );
|
||
|
SHSTDAPI SHMultiFileProperties( IDataObject *, DWORD );
|
||
|
SHSTDAPI SHSetFolderPathA( int, HANDLE, DWORD, LPCSTR );
|
||
|
SHSTDAPI SHSetFolderPathW( int, HANDLE, DWORD, LPCWSTR );
|
||
|
SHSTDAPI_( void ) SHUpdateImageA( LPCSTR, int, UINT, int );
|
||
|
SHSTDAPI_( void ) SHUpdateImageW( LPCWSTR, int, UINT, int );
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
SHSTDAPI_( int ) RestartDialogEx( HWND, LPCWSTR, DWORD, DWORD );
|
||
|
SHSTDAPI SHCreateFileExtractIconW( LPCWSTR, DWORD, REFIID, void ** );
|
||
|
SHSTDAPI SHCreateShellItem( PCIDLIST_ABSOLUTE, IShellFolder *, PCUITEMID_CHILD, IShellItem ** );
|
||
|
SHSTDAPI SHGetAttributesFromDataObject( IDataObject *, DWORD, DWORD *, UINT * );
|
||
|
SHSTDAPI SHGetFolderPathAndSubDirA( HWND, int, HANDLE, DWORD, LPCSTR, LPSTR );
|
||
|
SHSTDAPI SHGetFolderPathAndSubDirW( HWND, int, HANDLE, DWORD, LPCWSTR, LPWSTR );
|
||
|
SHSTDAPI SHLimitInputEdit( HWND, IShellFolder * );
|
||
|
SHSTDAPI SHOpenFolderAndSelectItems( PCIDLIST_ABSOLUTE, UINT, PCUITEMID_CHILD_ARRAY, DWORD );
|
||
|
SHSTDAPI SHParseDisplayName( PCWSTR, IBindCtx *, PIDLIST_ABSOLUTE *, SFGAOF, SFGAOF * );
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x06000000)
|
||
|
SHSTDAPI AssocGetDetailsOfPropKey( IShellFolder *, PCUITEMID_CHILD, const PROPERTYKEY *, VARIANT *, BOOL * );
|
||
|
SHSTDAPI ILLoadFromStreamEx( IStream *, PIDLIST_RELATIVE * );
|
||
|
SHSTDAPI SHBindToFolderIDListParent( IShellFolder *, PCUIDLIST_RELATIVE, REFIID, void **, PCUITEMID_CHILD * );
|
||
|
SHSTDAPI SHBindToFolderIDListParentEx( IShellFolder *, PCUIDLIST_RELATIVE, IBindCtx *, REFIID, void **, PCUITEMID_CHILD * );
|
||
|
SHSTDAPI SHBindToObject( IShellFolder *, PCUIDLIST_RELATIVE, IBindCtx *, REFIID, void ** );
|
||
|
SHSTDAPI_( void ) SHChangeNotifyRegisterThread( SCNRT_STATUS );
|
||
|
SHSTDAPI SHCreateDataObject( PCIDLIST_ABSOLUTE, UINT, PCUITEMID_CHILD_ARRAY, IDataObject *, REFIID, void ** );
|
||
|
SHSTDAPI SHCreateDefaultContextMenu( const DEFCONTEXTMENU *, REFIID, void ** );
|
||
|
SHSTDAPI SHGetKnownFolderIDList( REFKNOWNFOLDERID, DWORD, HANDLE, PIDLIST_ABSOLUTE * );
|
||
|
SHSTDAPI SHGetKnownFolderPath( REFKNOWNFOLDERID, DWORD, HANDLE, PWSTR * );
|
||
|
SHSTDAPI_( BOOL ) SHGetPathFromIDListEx( PCIDLIST_ABSOLUTE, PWSTR, DWORD, GPFIDL_FLAGS );
|
||
|
SHSTDAPI SHGetSetFolderCustomSettings( LPSHFOLDERCUSTOMSETTINGS, LPCWSTR, DWORD );
|
||
|
SHSTDAPI SHOpenWithDialog( HWND, const OPENASINFO * );
|
||
|
SHSTDAPI SHSetKnownFolderPath( REFKNOWNFOLDERID, DWORD, HANDLE, PCWSTR );
|
||
|
SHSTDAPI_( int ) Shell_GetCachedImageIndexA( LPCSTR, int, UINT );
|
||
|
SHSTDAPI_( int ) Shell_GetCachedImageIndexW( LPCWSTR, int, UINT );
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x06010000)
|
||
|
SHSTDAPI SHGetKnownFolderItem( REFKNOWNFOLDERID, KNOWN_FOLDER_FLAG, HANDLE, REFIID, void ** );
|
||
|
SHSTDAPI StgMakeUniqueName( IStorage *, PCWSTR, DWORD, REFIID, void ** );
|
||
|
#endif
|
||
|
|
||
|
/* Functions in SHDOCVW.DLL */
|
||
|
#if (_WIN32_IE >= 0x0600)
|
||
|
SHDOCAPI DoPrivacyDlg( HWND, LPCWSTR, IEnumPrivacyRecords *, BOOL );
|
||
|
SHDOCAPI_( BOOL ) ImportPrivacySettings( LPCWSTR, BOOL *, BOOL * );
|
||
|
#endif
|
||
|
|
||
|
/* Functions in SHFOLDER.DLL */
|
||
|
#if (NTDDI_VERSION >= 0x05000000)
|
||
|
SHFOLDERAPI SHGetFolderPathA( HWND, int, HANDLE, DWORD, LPSTR );
|
||
|
SHFOLDERAPI SHGetFolderPathW( HWND, int, HANDLE, DWORD, LPWSTR );
|
||
|
#endif
|
||
|
|
||
|
/* Functions implemented as macros */
|
||
|
#define ShellFolderView_ReArrange( x, p ) \
|
||
|
(BOOL)SHShellFolderView_Message( x, SFVM_REARRANGE, p )
|
||
|
#define ShellFolderView_AddObject( x, p ) \
|
||
|
(LPARAM)SHShellFolderView_Message( x, SFVM_ADDOBJECT, (LPARAM)(p) )
|
||
|
#define ShellFolderView_RemoveObject( x, p ) \
|
||
|
(LPARAM)SHShellFolderView_Message( x, SFVM_REMOVEOBJECT, (LPARAM)(p) )
|
||
|
#define ShellFolderView_UpdateObject( x, p ) \
|
||
|
(LPARAM)SHShellFolderView_Message( x, SFVM_UPDATEOBJECT, (LPARAM)(p) )
|
||
|
#define ShellFolderView_GetSelectedObjects( x, p ) \
|
||
|
(LPARAM)SHShellFolderView_Message( x, SFVM_GETSELECTEDOBJECTS, (LPARAM)(p) )
|
||
|
#define ShellFolderView_SetItemPos( x, p1, p2, p3 ) \
|
||
|
{ \
|
||
|
SFV_SETITEMPOS _params; \
|
||
|
SHShellFolderView_Message( x, SFVM_SETITEMPOS, (LPARAM)(LPSFV_SETITEMPOS)&_params ); \
|
||
|
}
|
||
|
#define ShellFolderView_SetClipboard( x, p ) \
|
||
|
(void)SHShellFolderView_Message( x, SFVM_SETCLIPBOARD, (LPARAM)(DWORD)(p) )
|
||
|
#define ShellFolderView_SetPoints( x, p ) \
|
||
|
(void)SHShellFolderView_Message( x, SFVM_SETPOINTS, (LPARAM)(p) )
|
||
|
|
||
|
/* Map generic function names to the appropriate ANSI or Unicode version. */
|
||
|
#ifdef UNICODE
|
||
|
#define PathIsSlow PathIsSlowW
|
||
|
#define SHBrowseForFolder SHBrowseForFolderW
|
||
|
#define SHCreateDirectoryEx SHCreateDirectoryExW
|
||
|
#define SHDefExtractIcon SHDefExtractIconW
|
||
|
#define SHGetDataFromIDList SHGetDataFromIDListW
|
||
|
#define SHGetIconOverlayIndex SHGetIconOverlayIndexW
|
||
|
#define SHGetPathFromIDList SHGetPathFromIDListW
|
||
|
#define SHGetSpecialFolderPath SHGetSpecialFolderPathW
|
||
|
#define SHOpenPropSheet SHOpenPropSheetW
|
||
|
#define SHPathPrepareForWrite SHPathPrepareForWriteW
|
||
|
#define SHStartNetConnectionDialog SHStartNetConnectionDialogW
|
||
|
#define Shell_GetCachedImageIndex Shell_GetCachedImageIndexW
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define ILCreateFromPath ILCreateFromPathW
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05000000)
|
||
|
#define SHGetFolderPath SHGetFolderPathW
|
||
|
#define SHSetFolderPath SHSetFolderPathW
|
||
|
#define SHUpdateImage SHUpdateImageW
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
#define SHCreateFileExtractIcon SHCreateFileExtractIconW
|
||
|
#define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirW
|
||
|
#endif
|
||
|
#else
|
||
|
#define PathIsSlow PathIsSlowA
|
||
|
#define SHBrowseForFolder SHBrowseForFolderA
|
||
|
#define SHCreateDirectoryEx SHCreateDirectoryExA
|
||
|
#define SHDefExtractIcon SHDefExtractIconA
|
||
|
#define SHGetDataFromIDList SHGetDataFromIDListA
|
||
|
#define SHGetIconOverlayIndex SHGetIconOverlayIndexA
|
||
|
#define SHGetPathFromIDList SHGetPathFromIDListA
|
||
|
#define SHGetSpecialFolderPath SHGetSpecialFolderPathA
|
||
|
#define SHPathPrepareForWrite SHPathPrepareForWriteA
|
||
|
#define Shell_GetCachedImageIndex Shell_GetCachedImageIndexA
|
||
|
#if (_WIN32_IE >= 0x0400)
|
||
|
#define ILCreateFromPath ILCreateFromPathA
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05000000)
|
||
|
#define SHGetFolderPath SHGetFolderPathA
|
||
|
#define SHSetFolderPath SHSetFolderPathA
|
||
|
#define SHUpdateImage SHUpdateImageA
|
||
|
#endif
|
||
|
#if (NTDDI_VERSION >= 0x05010000)
|
||
|
#define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirA
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} /* extern "C" */
|
||
|
#endif
|
||
|
|
||
|
#endif /* _SHLOBJ_H_ */
|