; ====================================================;
;                                                     ;
;     shlobj.inc for EC v2 Fasm classic projects      ;
;                   (version 1.0.1)                   ;
;                                                     ;
;         Copyright © Ramon Sala - 2018-2021          ;
;                                                     ;
; ====================================================;

if ~defined SHLOBJ_INC
SHLOBJ_INC equ     1

if ~defined OLE32_INC
    include 'ole32.inc'
end if

if ~defined COMCTL32_INC
    include 'comctl32.inc'
end if

if ~defined WININET_INC
    include 'wininet.inc'
end if

ISHCUTCMDID_DOWNLOADICON                        equ     0
ISHCUTCMDID_INTSHORTCUTCREATE                   equ     1
ISHCUTCMDID_COMMITHISTORY                       equ     2
ISHCUTCMDID_SETUSERAWURL                        equ     3
CMDID_INTSHORTCUTCREATE                         equ     ISHCUTCMDID_INTSHORTCUTCREATE

NUM_POINTS                                      equ     3

PIFNAMESIZE                                     equ     30
PIFSTARTLOCSIZE                                 equ     63
PIFDEFPATHSIZE                                  equ     64
PIFPARAMSSIZE                                   equ     64
PIFSHPROGSIZE                                   equ     64
PIFSHDATASIZE                                   equ     64
PIFDEFFILESIZE                                  equ     80
PIFMAXFILEPATH                                  equ     260

FCS_READ                                        equ     00000001H
FCS_FORCEWRITE                                  equ     00000002H
FCS_WRITE                                       equ     (FCS_READ or FCS_FORCEWRITE)
FCS_FLAG_DRAGDROP                               equ     2
FCSM_VIEWID                                     equ     00000001H
FCSM_WEBVIEWTEMPLATE                            equ     00000002H
FCSM_INFOTIP                                    equ     00000004H
FCSM_CLSID                                      equ     00000008H
FCSM_ICONFILE                                   equ     00000010H
FCSM_LOGO                                       equ     00000020H
FCSM_FLAGS                                      equ     00000040H

OFASI_EDIT                                      equ     0001H
OFASI_OPENDESKTOP                               equ     0002H

SIOM_OVERLAYINDEX                               equ     1
SIOM_ICONINDEX                                  equ     2
SIOM_PRIORITY                                   equ     3
SIOM_RESERVED_SHARED                            equ     0
SIOM_RESERVED_LINK                              equ     1
SIOM_RESERVED_SLOWFILE                          equ     2

CMF_NORMAL                                      equ     000000000H
CMF_DEFAULTONLY                                 equ     000000001H
CMF_VERBSONLY                                   equ     000000002H
CMF_EXPLORE                                     equ     000000004H
CMF_NOVERBS                                     equ     000000008H
CMF_CANRENAME                                   equ     000000010H
CMF_NODEFAULT                                   equ     000000020H
CMF_INCLUDESTATIC                               equ     000000040H
CMF_ITEMMENU                                    equ     000000080H
CMF_FINDHACK                                    equ     000000080H
CMF_EXTENDEDVERBS                               equ     000000100H
CMF_DISABLEDVERBS                               equ     000000200H
CMF_RESERVED                                    equ     0FFFF0000H
CMF_ASYNCVERBSTATE                              equ     000000400H
CMF_OPTIMIZEFORINVOKE                           equ     000000800H
CMF_SYNCCASCADEMENU                             equ     000001000H
CMF_DONOTPICKDEFAULT                            equ     000002000H
CMF_RESERVED                                    equ     0FFFF0000H

GCS_VERBA                                       equ     00000000H
GCS_HELPTEXTA                                   equ     00000001H
GCS_VALIDATEA                                   equ     00000002H
GCS_VERBW                                       equ     00000004H
GCS_HELPTEXTW                                   equ     00000005H
GCS_VALIDATEW                                   equ     00000006H
GCS_UNICODE                                     equ     00000004H

CMDSTR_NEWFOLDERA                               equ     'NewFolder'
CMDSTR_VIEWLISTA                                equ     'ViewList'
CMDSTR_VIEWDETAILSA                             equ     'ViewDetails'
CMDSTR_NEWFOLDERW                               equ     du "NewFolder", 0
CMDSTR_VIEWLISTW                                equ     du "ViewList", 0
CMDSTR_VIEWDETAILSW                             equ     du "ViewDetails", 0

CMIC_MASK_HOTKEY                                equ     SEE_MASK_HOTKEY
CMIC_MASK_ICON                                  equ     SEE_MASK_ICON
CMIC_MASK_FLAG_NO_UI                            equ     SEE_MASK_FLAG_NO_UI
CMIC_MASK_UNICODE                               equ     SEE_MASK_UNICODE
CMIC_MASK_NO_CONSOLE                            equ     SEE_MASK_NO_CONSOLE
if NTDDI_VERSION < NTDDI_VISTA
    CMIC_MASK_HASLINKNAME                       equ     SEE_MASK_HASLINKNAME
    CMIC_MASK_HASTITLE                          equ     SEE_MASK_HASTITLE
end if
CMIC_MASK_FLAG_SEP_VDM                          equ     SEE_MASK_FLAG_SEPVDM
CMIC_MASK_ASYNCOK                               equ     SEE_MASK_ASYNCOK
CMIC_MASK_NOASYNC                               equ     SEE_MASK_NOASYNC
CMIC_MASK_SHIFT_DOWN                            equ     10000000H
CMIC_MASK_CONTROL_DOWN                          equ     20000000H
CMIC_MASK_PTINVOKE                              equ     20000000H

GIL_OPENICON                                    equ     0001H
GIL_FORSHELL                                    equ     0002H
GIL_ASYNC                                       equ     0020H
GIL_DEFAULTICON                                 equ     0040H
GIL_FORSHORTCUT                                 equ     0080H
GIL_CHECKSHIELD                                 equ     0200H

GIL_SIMULATEDOC                                 equ     0001H
GIL_PERINSTANCE                                 equ     0002H
GIL_PERCLASS                                    equ     0004H
GIL_NOTFILENAME                                 equ     0008H
GIL_DONTCACHE                                   equ     0010H
GIL_SHIELD                                      equ     0200H
GIL_FORCENOSHIELD                               equ     0400H

ISIOI_ICONFILE                                  equ     00000001H
ISIOI_ICONINDEX                                 equ     00000002H

TOID_NULL                                       equ     GUID_NULL
ITSAT_DEFAULT_LPARAM                            equ     (-1)
ITSAT_DEFAULT_PRIORITY                          equ     10000000H
ITSAT_MAX_PRIORITY                              equ     7FFFFFFFH
ITSAT_MIN_PRIORITY                              equ     00000000H
ITSSFLAG_COMPLETE_ON_DESTROY                    equ     0000H
ITSSFLAG_KILL_ON_DESTROY                        equ     0001H
ITSSFLAG_FLAGS_MASK                             equ     0003H
ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT             equ     10000
ITSS_THREAD_TERMINATE_TIMEOUT                   equ     INFINITE
ITSS_THREAD_TIMEOUT_NO_CHANGE                   equ     (INFINITE - 1)

OI_ASYNC                                        equ     0FFFFEEEEH

IDO_SHGIOI_SHARE                                equ     00FFFFFFFH
IDO_SHGIOI_LINK                                 equ     00FFFFFFEH
IDO_SHGIOI_SLOWFILE                             equ     0FFFFFFFDH

NT_CONSOLE_PROPS_SIG                            equ     0A0000002H
NT_FE_CONSOLE_PROPS_SIG                         equ     0A0000004H

if ~defined FO_MOVE
    FO_MOVE                                     equ     0001H
    FO_COPY                                     equ     0002H
    FO_DELETE                                   equ     0003H
    FO_RENAME                                   equ     0004H
    FOF_MULTIDESTFILES                          equ     0001H
    FOF_CONFIRMMOUSE                            equ     0002H
    FOF_SILENT                                  equ     0004H
    FOF_RENAMEONCOLLISION                       equ     0008H
    FOF_NOCONFIRMATION                          equ     0010H
    FOF_WANTMAPPINGHANDLE                       equ     0020H
    FOF_ALLOWUNDO                               equ     0040H
    FOF_FILESONLY                               equ     0080H
    FOF_SIMPLEPROGRESS                          equ     0100H
    FOF_NOCONFIRMMKDIR                          equ     0200H
    FOF_NOERRORUI                               equ     0400H
    FOF_NOCOPYSECURITYATTRIBS                   equ     0800H
    FOF_NORECURSION                             equ     1000H
    FOF_NO_CONNECTED_ELEMENTS                   equ     2000H
    FOF_WANTNUKEWARNING                         equ     4000H
    PO_DELETE                                   equ     0013H
    PO_RENAME                                   equ     0014H
    PO_PORTCHANGE                               equ     0020H
    PO_REN_PORT                                 equ     0034H
end if

FVSIF_RECT                                      equ     00000001H
FVSIF_PINNED                                    equ     00000002H
FVSIF_NEWFAILED                                 equ     08000000H
FVSIF_NEWFILE                                   equ     80000000H
FVSIF_CANVIEWIT                                 equ     40000000H

FCIDM_SHVIEWFIRST                               equ     00000H
FCIDM_SHVIEWLAST                                equ     07FFFH
FCIDM_BROWSERFIRST                              equ     0A000H
FCIDM_BROWSERLAST                               equ     0BF00H
FCIDM_GLOBALFIRST                               equ     08000H
FCIDM_GLOBALLAST                                equ     09FFFH

FCIDM_MENU_FILE                                 equ     (FCIDM_GLOBALFIRST + 0000H)
FCIDM_MENU_EDIT                                 equ     (FCIDM_GLOBALFIRST + 0040H)
FCIDM_MENU_VIEW                                 equ     (FCIDM_GLOBALFIRST + 0080H)
FCIDM_MENU_VIEW_SEP_OPTIONS                     equ     (FCIDM_GLOBALFIRST + 0081H)
FCIDM_MENU_TOOLS                                equ     (FCIDM_GLOBALFIRST + 00C0H)
FCIDM_MENU_TOOLS_SEP_GOTO                       equ     (FCIDM_GLOBALFIRST + 00C1H)
FCIDM_MENU_HELP                                 equ     (FCIDM_GLOBALFIRST + 0100H)
FCIDM_MENU_FIND                                 equ     (FCIDM_GLOBALFIRST + 0140H)
FCIDM_MENU_EXPLORE                              equ     (FCIDM_GLOBALFIRST + 0150H)
FCIDM_MENU_FAVORITES                            equ     (FCIDM_GLOBALFIRST + 0170H)

FCIDM_TOOLBAR                                   equ     (FCIDM_BROWSERFIRST + 0)
FCIDM_STATUS                                    equ     (FCIDM_BROWSERFIRST + 1)

SBSP_DEFBROWSER                                 equ     0000H
SBSP_SAMEBROWSER                                equ     0001H
SBSP_NEWBROWSER                                 equ     0002H
SBSP_DEFMODE                                    equ     0000H
SBSP_OPENMODE                                   equ     0010H
SBSP_EXPLOREMODE                                equ     0020H
SBSP_HELPMODE                                   equ     0040H
SBSP_NOTRANSFERHIST                             equ     0080H
SBSP_ABSOLUTE                                   equ     0000H
SBSP_RELATIVE                                   equ     1000H
SBSP_PARENT                                     equ     2000H
SBSP_NAVIGATEBACK                               equ     4000H
SBSP_NAVIGATEFORWARD                            equ     8000H
SBSP_ALLOW_AUTONAVIGATE                         equ     10000H
SBSP_KEEPSAMETEMPLATE                           equ     00020000H
SBSP_KEEPWORDWHEELTEXT                          equ     00040000H
SBSP_ACTIVATE_NOFOCUS                           equ     00080000H
SBSP_CREATENOHISTORY                            equ     00100000H
SBSP_PLAYNOSOUND                                equ     00200000H
SBSP_CALLERUNTRUSTED                            equ     00800000H
SBSP_TRUSTFIRSTDOWNLOAD                         equ     01000000H
SBSP_UNTRUSTEDFORDOWNLOAD                       equ     02000000H
SBSP_NOAUTOSELECT                               equ     04000000H
SBSP_WRITENOHISTORY                             equ     08000000H
SBSP_TRUSTEDFORACTIVEX                          equ     10000000H
SBSP_FEEDNAVIGATION                             equ     20000000H
SBSP_REDIRECT                                   equ     40000000H
SBSP_INITIATEDBYHLINKFRAME                      equ     80000000H

FCW_STATUS                                      equ     0001H
FCW_TOOLBAR                                     equ     0002H
FCW_TREE                                        equ     0003H
FCW_INTERNETBAR                                 equ     0006H
FCW_PROGRESS                                    equ     0008H

FCT_MERGE                                       equ     0001H
FCT_CONFIGABLE                                  equ     0002H
FCT_ADDTOEND                                    equ     0004H

CDBOSC_SETFOCUS                                 equ     00000000H
CDBOSC_KILLFOCUS                                equ     00000001H
CDBOSC_SELCHANGE                                equ     00000002H
CDBOSC_RENAME                                   equ     00000003H

IDC_OFFLINE_HAND                                equ     103
IDC_PANTOOL_HAND_OPEN                           equ     104
IDC_PANTOOL_HAND_CLOSED                         equ     105

CDB2N_CONTEXTMENU_DONE                          equ     00000001H
CDB2N_CONTEXTMENU_START                         equ     00000002H

CDB2GVF_SHOWALLFILES                            equ     00000001H
CDB2GVF_ISFILESAVE                              equ     00000002H
CDB2GVF_ALLOWPREVIEWPANE                        equ     00000004H
CDB2GVF_NOSELECTVERB                            equ     00000008H
CDB2GVF_NOINCLUDEITEM                           equ     00000010H
CDB2GVF_ISFOLDERPICKER                          equ     00000020H
CDB2GVF_ADDSHIELD                               equ     00000040H

if ~defined SVSI_NOSTATECHANGE
    SVSI_DESELECT                               equ     00000000H
    SVSI_SELECT                                 equ     00000001H
    SVSI_EDIT                                   equ     00000003H
    SVSI_DESELECTOTHERS                         equ     00000004H
    SVSI_ENSUREVISIBLE                          equ     00000008H
    SVSI_FOCUSED                                equ     00000010H
    SVSI_TRANSLATEPT                            equ     00000020H
    SVSI_SELECTIONMARK                          equ     00000040H
    SVSI_POSITIONITEM                           equ     00000080H
    SVSI_CHECK                                  equ     00000100H
    SVSI_NOSTATECHANGE                          equ     80000000H
end if

if ~defined SVGIO_FLAG_VIEWORDER
    SVGIO_BACKGROUND                            equ     0
    SVGIO_SELECTION                             equ     01H
    SVGIO_ALLVIEW                               equ     02H
    SVGIO_CHECKED                               equ     03H
    SVGIO_TYPE_MASK                             equ     0FH
    SVGIO_FLAG_VIEWORDER                        equ     80000000H
end if

SV2GV_CURRENTVIEW                               equ     (-1)
SV2GV_DEFAULTVIEW                               equ     (-2)

STRRET_WSTR                                     equ     0000H
STRRET_OFFSET                                   equ     0001H
STRRET_CSTR                                     equ     0002H

if ~defined REGSTR_PATH_EXPLORER
    if defined APP_UNICODE
        REGSTR_PATH_EXPLORER                    equ     du "Software\Microsoft\Windows\CurrentVersion\Explorer", 0
        REGSTR_PATH_SPECIAL_FOLDERS             equ     du "\Shell Folders", 0
    else
        REGSTR_PATH_EXPLORER                    equ     'Software\Microsoft\Windows\CurrentVersion\Explorer'
        REGSTR_PATH_SPECIAL_FOLDERS             equ     '\Shell Folders'
    end if
end if

CSIDL_DESKTOP                                   equ     00000H
CSIDL_INTERNET                                  equ     00001H
CSIDL_PROGRAMS                                  equ     00002H
CSIDL_CONTROLS                                  equ     00003H
CSIDL_PRINTERS                                  equ     00004H
CSIDL_PERSONAL                                  equ     00005H
CSIDL_FAVORITES                                 equ     00006H
CSIDL_STARTUP                                   equ     00007H
CSIDL_RECENT                                    equ     00008H
CSIDL_SENDTO                                    equ     00009H
CSIDL_BITBUCKET                                 equ     0000AH
CSIDL_STARTMENU                                 equ     0000BH
CSIDL_MYDOCUMENTS                               equ     CSIDL_PERSONAL
CSIDL_MYMUSIC                                   equ     0000DH
CSIDL_MYVIDEO                                   equ     0000EH
CSIDL_DESKTOPDIRECTORY                          equ     00010H
CSIDL_DRIVES                                    equ     00011H
CSIDL_NETWORK                                   equ     00012H
CSIDL_NETHOOD                                   equ     00013H
CSIDL_FONTS                                     equ     00014H
CSIDL_TEMPLATES                                 equ     00015H
CSIDL_COMMON_STARTMENU                          equ     00016H
CSIDL_COMMON_PROGRAMS                           equ     00017H
CSIDL_COMMON_STARTUP                            equ     00018H
CSIDL_COMMON_DESKTOPDIRECTORY                   equ     00019H
CSIDL_APPDATA                                   equ     0001AH
CSIDL_PRINTHOOD                                 equ     0001BH
CSIDL_LOCAL_APPDATA                             equ     0001CH
CSIDL_ALTSTARTUP                                equ     0001DH
CSIDL_COMMON_ALTSTARTUP                         equ     0001EH
CSIDL_COMMON_FAVORITES                          equ     0001FH
CSIDL_INTERNET_CACHE                            equ     00020H
CSIDL_COOKIES                                   equ     00021H
CSIDL_HISTORY                                   equ     00022H
CSIDL_COMMON_APPDATA                            equ     00023H
CSIDL_WINDOWS                                   equ     00024H
CSIDL_SYSTEM                                    equ     00025H
CSIDL_PROGRAM_FILES                             equ     00026H
CSIDL_MYPICTURES                                equ     00027H
CSIDL_PROFILE                                   equ     00028H
CSIDL_SYSTEMX86                                 equ     00029H
CSIDL_PROGRAM_FILESX86                          equ     0002AH
CSIDL_PROGRAM_FILES_COMMON                      equ     0002BH
CSIDL_PROGRAM_FILES_COMMONX86                   equ     0002CH
CSIDL_COMMON_TEMPLATES                          equ     0002DH
CSIDL_COMMON_DOCUMENTS                          equ     0002EH
CSIDL_COMMON_ADMINTOOLS                         equ     0002FH
CSIDL_ADMINTOOLS                                equ     00030H
CSIDL_CONNECTIONS                               equ     00031H
CSIDL_COMMON_MUSIC                              equ     00035H
CSIDL_COMMON_PICTURES                           equ     00036H
CSIDL_COMMON_VIDEO                              equ     00037H
CSIDL_RESOURCES                                 equ     00038H
CSIDL_RESOURCES_LOCALIZED                       equ     00039H
CSIDL_COMMON_OEM_LINKS                          equ     0003AH
CSIDL_CDBURN_AREA                               equ     0003BH
CSIDL_COMPUTERSNEARME                           equ     0003DH

CSIDL_FLAG_CREATE                               equ     08000H
CSIDL_FLAG_DONT_VERIFY                          equ     04000H
CSIDL_FLAG_NO_ALIAS                             equ     01000H
CSIDL_FLAG_PER_USER_INIT                        equ     00800H
CSIDL_FLAG_MASK                                 equ     0FF00H

BIF_RETURNONLYFSDIRS                            equ     00001H
BIF_DONTGOBELOWDOMAIN                           equ     00002H
BIF_STATUSTEXT                                  equ     00004H
BIF_RETURNFSANCESTORS                           equ     00008H
BIF_EDITBOX                                     equ     00010H
BIF_VALIDATE                                    equ     00020H
BIF_NEWDIALOGSTYLE                              equ     00040H
BIF_USENEWUI                                    equ     (BIF_NEWDIALOGSTYLE or BIF_EDITBOX)
BIF_BROWSEINCLUDEURLS                           equ     00080H
BIF_BROWSEFORCOMPUTER                           equ     01000H
BIF_BROWSEFORPRINTER                            equ     02000H
BIF_BROWSEINCLUDEFILES                          equ     04000H
BIF_SHAREABLE                                   equ     08000H

BFFM_INITIALIZED                                equ     1
BFFM_SELCHANGED                                 equ     2
BFFM_VALIDATEFAILEDA                            equ     3
BFFM_VALIDATEFAILEDW                            equ     4
BFFM_IUNKNOWN                                   equ     5

BFFM_SETSTATUSTEXTA                             equ     (WM_USER + 100)
BFFM_ENABLEOK                                   equ     (WM_USER + 101)
BFFM_SETSELECTIONA                              equ     (WM_USER + 102)
BFFM_SETSELECTIONW                              equ     (WM_USER + 103)
BFFM_SETSTATUSTEXTW                             equ     (WM_USER + 104)
BFFM_SETOKTEXT                                  equ     (WM_USER + 105)
BFFM_SETEXPANDED                                equ     (WM_USER + 106)

GPFIDL_DEFAULT                                  equ     0000H
GPFIDL_ALTNAME                                  equ     0001H
GPFIDL_UNCPRINTER                               equ     0002H

DROPEFFECT_COPY                                 equ     01H
DROPEFFECT_MOVE                                 equ     02H
DROPEFFECT_LINK                                 equ     04H

if ~defined SFGAO_STORAGECAPMASK
    SHCIDS_ALLFIELDS                            equ     080000000H
    SHCIDS_CANONICALONLY                        equ     010000000H
    SHCIDS_BITMASK                              equ     0FFFF0000H
    SHCIDS_COLUMNMASK                           equ     00000FFFFH
    SFGAO_CANCOPY                               equ     DROPEFFECT_COPY
    SFGAO_CANMOVE                               equ     DROPEFFECT_MOVE
    SFGAO_CANLINK                               equ     DROPEFFECT_LINK
    SFGAO_STORAGE                               equ     000000008H
    SFGAO_CANRENAME                             equ     000000010H
    SFGAO_CANDELETE                             equ     000000020H
    SFGAO_HASPROPSHEET                          equ     000000040H
    SFGAO_DROPTARGET                            equ     000000100H
    SFGAO_CAPABILITYMASK                        equ     000000177H
    SFGAO_ENCRYPTED                             equ     000002000H
    SFGAO_ISSLOW                                equ     000004000H
    SFGAO_GHOSTED                               equ     000008000H
    SFGAO_LINK                                  equ     000010000H
    SFGAO_SHARE                                 equ     000020000H
    SFGAO_READONLY                              equ     000040000H
    SFGAO_HIDDEN                                equ     000080000H
    SFGAO_DISPLAYATTRMASK                       equ     0000FC000H
    SFGAO_FILESYSANCESTOR                       equ     010000000H
    SFGAO_FOLDER                                equ     020000000H
    SFGAO_FILESYSTEM                            equ     040000000H
    SFGAO_HASSUBFOLDER                          equ     080000000H
    SFGAO_CONTENTSMASK                          equ     080000000H
    SFGAO_VALIDATE                              equ     001000000H
    SFGAO_REMOVABLE                             equ     002000000H
    SFGAO_COMPRESSED                            equ     004000000H
    SFGAO_BROWSABLE                             equ     008000000H
    SFGAO_NONENUMERATED                         equ     000100000H
    SFGAO_NEWCONTENT                            equ     000200000H
    SFGAO_CANMONIKER                            equ     000400000H
    SFGAO_HASSTORAGE                            equ     000400000H
    SFGAO_STREAM                                equ     000400000H
    SFGAO_STORAGEANCESTOR                       equ     000800000H
    SFGAO_STORAGECAPMASK                        equ     070C50008H
    SFGAO_PKEYSFGAOMASK                         equ     081044000H
end if

STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE          equ     du "Force Folder Shortcut Resolve", 0
STR_AVOID_DRIVE_RESTRICTION_POLICY              equ     du "LAvoid Drive Restriction Policy", 0
STR_AVOID_DRIVE_RESTRICTION_POLICY              equ     du "Avoid Drive Restriction Policy", 0
STR_SKIP_BINDING_CLSID                          equ     du "Skip Binding CLSID", 0
STR_PARSE_PREFER_FOLDER_BROWSING                equ     du "Parse Prefer Folder Browsing", 0
STR_DONT_PARSE_RELATIVE                         equ     du "Don't Parse Relative", 0
STR_PARSE_TRANSLATE_ALIASES                     equ     du "Parse Translate Aliases", 0
STR_PARSE_SKIP_NET_CACHE                        equ     du "Skip Net Resource Cache", 0
STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS        equ     du "Parse Shell Protocol To File Objects", 0
STR_TRACK_CLSID                                 equ     du "Track the CLSID", 0
STR_INTERNAL_NAVIGATE                           equ     du "Internal Navigation", 0
STR_PARSE_PROPERTYSTORE                         equ     du "DelegateNamedProperties", 0
STR_NO_VALIDATE_FILENAME_CHARS                  equ     du "NoValidateFilenameChars", 0
STR_BIND_DELEGATE_CREATE_OBJECT                 equ     du "Delegate Object Creation", 0
STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS          equ     du "Allow binding to Internet shell folder handlers and negate STR_PARSE_PREFER_WEB_BROWSING", 0
STR_PARSE_PREFER_WEB_BROWSING                   equ     du "Do not bind to Internet shell folder handlers", 0
STR_PARSE_SHOW_NET_DIAGNOSTICS_UI               equ     du "Show network diagnostics UI", 0
STR_PARSE_DONT_REQUIRE_VALIDATED_URLS           equ     du "Do not require validated URLs", 0
STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE   equ     du "Validate URL", 0

PANE_NONE                                       equ     (-1)
PANE_ZONE                                       equ     1
PANE_OFFLINE                                    equ     2
PANE_PRINTER                                    equ     3
PANE_SSL                                        equ     4
PANE_NAVIGATION                                 equ     5
PANE_PROGRESS                                   equ     6
PANE_PRIVACY                                    equ     7

STR_SKIP_BINDING_CLSID                          equ     du "Skip Binding CLSID", 0
STR_FILE_SYS_BIND_DATA                          equ     du "File System Bind Data", 0

PROGDLG_NORMAL                                  equ     000000000H
PROGDLG_MODAL                                   equ     000000001H
PROGDLG_AUTOTIME                                equ     000000002H
PROGDLG_NOTIME                                  equ     000000004H
PROGDLG_NOMINIMIZE                              equ     000000008H
PROGDLG_NOPROGRESSBAR                           equ     000000010H
PROGDLG_MARQUEEPROGRESS                         equ     000000020H
PROGDLG_NOCANCEL                                equ     000000040H

PDTIMER_RESET                                   equ     000000001H
PDTIMER_PAUSE                                   equ     000000002H
PDTIMER_RESUME                                  equ     000000003H

DWFRF_NORMAL                                    equ     00000H
DWFRF_DELETECONFIGDATA                          equ     00001H

DWFAF_HIDDEN                                    equ     00001H
DWFAF_GROUP1                                    equ     00002H
DWFAF_GROUP2                                    equ     00004H
DWFAF_AUTOHIDE                                  equ     00010H

DBIM_MINSIZE                                    equ     00001H
DBIM_MAXSIZE                                    equ     00002H
DBIM_INTEGRAL                                   equ     00004H
DBIM_ACTUAL                                     equ     00008H
DBIM_TITLE                                      equ     00010H
DBIM_MODEFLAGS                                  equ     00020H
DBIM_BKCOLOR                                    equ     00040H

DBIMF_NORMAL                                    equ     00000H
DBIMF_VARIABLEHEIGHT                            equ     00008H
DBIMF_DEBOSSED                                  equ     00020H
DBIMF_BKCOLOR                                   equ     00040H

DBIF_VIEWMODE_NORMAL                            equ     00000H
DBIF_VIEWMODE_VERTICAL                          equ     00001H
DBIF_VIEWMODE_FLOATING                          equ     00002H
DBIF_VIEWMODE_TRANSPARENT                       equ     00004H

if defined APP_UNICODE
    CFSTR_SHELLIDLIST                           equ     du "Shell IDList Array", 0
    CFSTR_SHELLIDLISTOFFSET                     equ     du "Shell Object Offsets", 0
    CFSTR_NETRESOURCES                          equ     du "Net Resource", 0
    CFSTR_FILEDESCRIPTORA                       equ     du "FileGroupDescriptor", 0
    CFSTR_FILEDESCRIPTORW                       equ     du "FileGroupDescriptorW", 0
    CFSTR_FILECONTENTS                          equ     du "FileContents", 0
    CFSTR_FILENAMEA                             equ     du "FileName", 0
    CFSTR_FILENAMEW                             equ     du "FileNameW", 0
    CFSTR_PRINTERGROUP                          equ     du "PrinterFriendlyName", 0
    CFSTR_FILENAMEMAPA                          equ     du "FileNameMap", 0
    CFSTR_FILENAMEMAPW                          equ     du "FileNameMapW", 0
    CFSTR_SHELLURL                              equ     du "UniformResourceLocator", 0
    CFSTR_INETURLA                              equ     du "UniformResourceLocator", 0
    CFSTR_INETURLW                              equ     du "UniformResourceLocatorW", 0
    CFSTR_PREFERREDDROPEFFECT                   equ     du "Preferred DropEffect", 0
    CFSTR_PERFORMEDDROPEFFECT                   equ     du "Performed DropEffect", 0
    CFSTR_PASTESUCCEEDED                        equ     du "Paste Succeeded", 0
    CFSTR_INDRAGLOOP                            equ     du "InShellDragLoop", 0
    CFSTR_MOUNTEDVOLUME                         equ     du "MountedVolume", 0
    CFSTR_PERSISTEDDATAOBJECT                   equ     du "PersistedDataObject", 0
    CFSTR_TARGETCLSID                           equ     du "TargetCLSID", 0
    CFSTR_LOGICALPERFORMEDDROPEFFECT            equ     du "Logical Performed DropEffect", 0
    CFSTR_AUTOPLAY_SHELLIDLISTS                 equ     du "Autoplay Enumerated IDList Array", 0
    CFSTR_UNTRUSTEDDRAGDROP                     equ     du "UntrustedDragDrop", 0
    CFSTR_FILE_ATTRIBUTES_ARRAY                 equ     du "File Attributes Array", 0
    CFSTR_INVOKECOMMAND_DROPPARAM               equ     du "InvokeCommand DropParam", 0
    CFSTR_SHELLDROPHANDLER                      equ     du "DropHandlerCLSID", 0
    CFSTR_DROPDESCRIPTION                       equ     du "DropDescription", 0
else
    CFSTR_SHELLIDLIST                           equ     'Shell IDList Array'
    CFSTR_SHELLIDLISTOFFSET                     equ     'Shell Object Offsets'
    CFSTR_NETRESOURCES                          equ     'Net Resource'
    CFSTR_FILEDESCRIPTORA                       equ     'FileGroupDescriptor'
    CFSTR_FILEDESCRIPTORW                       equ     'FileGroupDescriptorW'
    CFSTR_FILECONTENTS                          equ     'FileContents'
    CFSTR_FILENAMEA                             equ     'FileName'
    CFSTR_FILENAMEW                             equ     'FileNameW'
    CFSTR_PRINTERGROUP                          equ     'PrinterFriendlyName'
    CFSTR_FILENAMEMAPA                          equ     'FileNameMap'
    CFSTR_FILENAMEMAPW                          equ     'FileNameMapW'
    CFSTR_SHELLURL                              equ     'UniformResourceLocator'
    CFSTR_INETURLA                              equ     'UniformResourceLocator'
    CFSTR_INETURLW                              equ     'UniformResourceLocatorW'
    CFSTR_PREFERREDDROPEFFECT                   equ     'Preferred DropEffect'
    CFSTR_PERFORMEDDROPEFFECT                   equ     'Performed DropEffect'
    CFSTR_PASTESUCCEEDED                        equ     'Paste Succeeded'
    CFSTR_INDRAGLOOP                            equ     'InShellDragLoop'
    CFSTR_MOUNTEDVOLUME                         equ     'MountedVolume'
    CFSTR_PERSISTEDDATAOBJECT                   equ     'PersistedDataObject'
    CFSTR_TARGETCLSID                           equ     'TargetCLSID'
    CFSTR_LOGICALPERFORMEDDROPEFFECT            equ     'Logical Performed DropEffect'
    CFSTR_AUTOPLAY_SHELLIDLISTS                 equ     'Autoplay Enumerated IDList Array'
    CFSTR_UNTRUSTEDDRAGDROP                     equ     'UntrustedDragDrop'
    CFSTR_FILE_ATTRIBUTES_ARRAY                 equ     'File Attributes Array'
    CFSTR_INVOKECOMMAND_DROPPARAM               equ     'InvokeCommand DropParam'
    CFSTR_SHELLDROPHANDLER                      equ     'DropHandlerCLSID'
    CFSTR_DROPDESCRIPTION                       equ     'DropDescription'
end if

DVASPECT_SHORTNAME                              equ     2
DVASPECT_COPY                                   equ     3
DVASPECT_LINK                                   equ     4

SHCNE_RENAMEITEM                                equ     000000001H
SHCNE_CREATE                                    equ     000000002H
SHCNE_DELETE                                    equ     000000004H
SHCNE_MKDIR                                     equ     000000008H
SHCNE_RMDIR                                     equ     000000010H
SHCNE_MEDIAINSERTED                             equ     000000020H
SHCNE_MEDIAREMOVED                              equ     000000040H
SHCNE_DRIVEREMOVED                              equ     000000080H
SHCNE_DRIVEADD                                  equ     000000100H
SHCNE_NETSHARE                                  equ     000000200H
SHCNE_NETUNSHARE                                equ     000000400H
SHCNE_ATTRIBUTES                                equ     000000800H
SHCNE_UPDATEDIR                                 equ     000001000H
SHCNE_UPDATEITEM                                equ     000002000H
SHCNE_SERVERDISCONNECT                          equ     000004000H
SHCNE_UPDATEIMAGE                               equ     000008000H
SHCNE_DRIVEADDGUI                               equ     000010000H
SHCNE_RENAMEFOLDER                              equ     000020000H
SHCNE_FREESPACE                                 equ     000040000H
SHCNE_EXTENDED_EVENT                            equ     004000000H
SHCNE_ASSOCCHANGED                              equ     008000000H
SHCNE_DISKEVENTS                                equ     00002381FH
SHCNE_GLOBALEVENTS                              equ     00C0581E0H
SHCNE_ALLEVENTS                                 equ     07FFFFFFFH
SHCNE_INTERRUPT                                 equ     080000000H

SHCNEE_ORDERCHANGED                             equ     2
SHCNEE_MSI_CHANGE                               equ     4
SHCNEE_MSI_UNINSTALL                            equ     5

SHCNF_IDLIST                                    equ     00000H
SHCNF_PATHA                                     equ     00001H
SHCNF_PRINTERA                                  equ     00002H
SHCNF_DWORD                                     equ     00003H
SHCNF_PATHW                                     equ     00005H
SHCNF_PRINTERW                                  equ     00006H
SHCNF_TYPE                                      equ     000FFH
SHCNF_FLUSH                                     equ     01000H
SHCNF_FLUSHNOWAIT                               equ     02000H

QITIPF_DEFAULT                                  equ     000000000H
QITIPF_USENAME                                  equ     000000001H
QITIPF_LINKNOTARGET                             equ     000000002H
QITIPF_LINKUSETARGET                            equ     000000004H
QITIPF_USESLOWTIP                               equ     000000008H
QITIPF_SINGLELINE                               equ     000000010H

QIF_CACHED                                      equ     000000001H
QIF_DONTEXPANDFOLDER                            equ     000000002H

SHARD_PIDL                                      equ     000000001H

if defined APP_UNICODE
    CFSTR_FILEDESCRIPTOR equ CFSTR_FILEDESCRIPTORW
    CFSTR_FILENAME equ CFSTR_FILENAMEW
    CFSTR_FILENAMEMAP equ CFSTR_FILENAMEMAPW
    CFSTR_INETURL equ CFSTR_INETURLW
else
    CFSTR_FILEDESCRIPTOR equ CFSTR_FILEDESCRIPTORA
    CFSTR_FILENAME equ CFSTR_FILENAMEA
    CFSTR_FILENAMEMAP equ CFSTR_FILENAMEMAPA
    CFSTR_INETURL equ CFSTR_INETURLA
end if

SHGDFIL_FINDDATA                                equ     1
SHGDFIL_NETRESOURCE                             equ     2
SHGDFIL_DESCRIPTIONID                           equ     3

SHDID_ROOT_REGITEM                              equ     1
SHDID_FS_FILE                                   equ     2
SHDID_FS_DIRECTORY                              equ     3
SHDID_FS_OTHER                                  equ     4
SHDID_COMPUTER_DRIVE35                          equ     5
SHDID_COMPUTER_DRIVE525                         equ     6
SHDID_COMPUTER_REMOVABLE                        equ     7
SHDID_COMPUTER_FIXED                            equ     8
SHDID_COMPUTER_NETDRIVE                         equ     9
SHDID_COMPUTER_CDROM                            equ     10
SHDID_COMPUTER_RAMDISK                          equ     11
SHDID_COMPUTER_OTHER                            equ     12
SHDID_NET_DOMAIN                                equ     13
SHDID_NET_SERVER                                equ     14
SHDID_NET_SHARE                                 equ     15
SHDID_NET_RESTOFNET                             equ     16
SHDID_NET_OTHER                                 equ     17
SHDID_COMPUTER_IMAGING                          equ     18
SHDID_COMPUTER_AUDIO                            equ     19
SHDID_COMPUTER_SHAREDDOCS                       equ     20
SHDID_MOBILE_DEVICE                             equ     21

PID_IS_URL                                      equ     2
PID_IS_NAME                                     equ     4
PID_IS_WORKINGDIR                               equ     5
PID_IS_HOTKEY                                   equ     6
PID_IS_SHOWCMD                                  equ     7
PID_IS_ICONINDEX                                equ     8
PID_IS_ICONFILE                                 equ     9
PID_IS_WHATSNEW                                 equ     10
PID_IS_AUTHOR                                   equ     11
PID_IS_DESCRIPTION                              equ     12
PID_IS_COMMENT                                  equ     13

PID_INTSITE_WHATSNEW                            equ     2
PID_INTSITE_AUTHOR                              equ     3
PID_INTSITE_LASTVISIT                           equ     4
PID_INTSITE_LASTMOD                             equ     5
PID_INTSITE_VISITCOUNT                          equ     6
PID_INTSITE_DESCRIPTION                         equ     7
PID_INTSITE_COMMENT                             equ     8
PID_INTSITE_FLAGS                               equ     9
PID_INTSITE_CONTENTLEN                          equ     10
PID_INTSITE_CONTENTCODE                         equ     11
PID_INTSITE_RECURSE                             equ     12
PID_INTSITE_WATCH                               equ     13
PID_INTSITE_SUBSCRIPTION                        equ     14
PID_INTSITE_URL                                 equ     15
PID_INTSITE_TITLE                               equ     16
PID_INTSITE_CODEPAGE                            equ     18
PID_INTSITE_TRACKING                            equ     19
PID_INTSITE_ICONINDEX                           equ     20
PID_INTSITE_ICONFILE                            equ     21

PIDISF_RECENTLYCHANGED                          equ     000000001H
PIDISF_CACHEDSTICKY                             equ     000000002H
PIDISF_CACHEIMAGES                              equ     000000010H
PIDISF_FOLLOWALLLINKS                           equ     000000020H

PIDISM_GLOBAL                                   equ     0
PIDISM_WATCH                                    equ     1
PIDISM_DONTWATCH                                equ     2

SSF_SHOWALLOBJECTS                              equ     000000001H
SSF_SHOWEXTENSIONS                              equ     000000002H
SSF_SHOWCOMPCOLOR                               equ     000000008H
SSF_SHOWSYSFILES                                equ     000000020H
SSF_DOUBLECLICKINWEBVIEW                        equ     000000080H
SSF_SHOWATTRIBCOL                               equ     000000100H
SSF_DESKTOPHTML                                 equ     000000200H
SSF_WIN95CLASSIC                                equ     000000400H
SSF_DONTPRETTYPATH                              equ     000000800H
SSF_SHOWINFOTIP                                 equ     000002000H
SSF_MAPNETDRVBUTTON                             equ     000001000H
SSF_NOCONFIRMRECYCLE                            equ     000008000H
SSF_HIDEICONS                                   equ     000004000H

SHPPFW_NONE                                     equ     000000000H
SHPPFW_DEFAULT                                  equ     SHPPFW_DIRCREATE
SHPPFW_DIRCREATE                                equ     000000001H
SHPPFW_ASKDIRCREATE                             equ     000000002H
SHPPFW_IGNOREFILENAME                           equ     000000004H
SHPPFW_NOWRITECHECK                             equ     000000008H
if (NTDDI_VERSION >= NTDDI_WINXP)
    SHPPFW_MEDIACHECKONLY                       equ     000000010H
end if

KF_FLAG_CREATE                                  equ     000008000H
KF_FLAG_DONT_VERIFY                             equ     000004000H
KF_FLAG_DONT_UNEXPAND                           equ     000002000H
KF_FLAG_NO_ALIAS                                equ     000001000H
KF_FLAG_INIT                                    equ     000000800H
KF_FLAG_DEFAULT_PATH                            equ     000000400H
KF_FLAG_NOT_PARENT_RELATIVE                     equ     000000200H
KF_FLAG_SIMPLE_IDLIST                           equ     000000100H

SHIMSTCAPFLAG_LOCKABLE                          equ     00001H
SHIMSTCAPFLAG_PURGEABLE                         equ     00002H

VALIDATEUNC_CONNECT                             equ     00001H
VALIDATEUNC_NOUI                                equ     00002H
VALIDATEUNC_PRINT                               equ     00004H
if (NTDDI_VERSION >= NTDDI_VISTA)
    VALIDATEUNC_PERSIST                         equ     00008H
    VALIDATEUNC_VALID                           equ     0000FH

    DROPIMAGE_INVALID                           equ     (-1)
    DROPIMAGE_NONE                              equ     0
    DROPIMAGE_COPY                              equ     DROPEFFECT_COPY
    DROPIMAGE_MOVE                              equ     DROPEFFECT_MOVE
    DROPIMAGE_LINK                              equ     DROPEFFECT_LINK
    DROPIMAGE_LABEL                             equ     6
    DROPIMAGE_WARNING                           equ     7
else
    VALIDATEUNC_VALID                           equ     00007H
end if

CM_MASK_WIDTH                                   equ     001H
CM_MASK_DEFAULTWIDTH                            equ     002H
CM_MASK_IDEALWIDTH                              equ     004H
CM_MASK_NAME                                    equ     008H
CM_MASK_STATE                                   equ     010H

CM_STATE_NONE                                   equ     000H
CM_STATE_VISIBLE                                equ     001H
CM_STATE_FIXEDWIDTH                             equ     002H
CM_STATE_NOSORTBYFOLDERNESS                     equ     004H
CM_STATE_ALWAYSVISIBLE                          equ     008H

CM_ENUM_ALL                                     equ     901H
CM_ENUM_VISIBLE                                 equ     902H

CM_WIDTH_USEDEFAULT                             equ     (-1)
CM_WIDTH_AUTOSIZE                               equ     (-2)


CSIDL_FLAG_PFTI_TRACKTARGET                     equ     CSIDL_FLAG_DONT_VERIFY

SLR_NO_UI                                       equ     00001H
SLR_ANY_MATCH                                   equ     00002H
SLR_UPDATE                                      equ     00004H
SLR_NOUPDATE                                    equ     00008H
SLR_NOSEARCH                                    equ     00010H
SLR_NOTRACK                                     equ     00020H
SLR_NOLINKINFO                                  equ     00040H
SLR_INVOKE_MSI                                  equ     00080H
SLR_NO_UI_WITH_MSG_PUMP                         equ     00101H
SLR_OFFER_DELETE_WITHOUT_FILE                   equ     00200H
SLR_KNOWNFOLDER                                 equ     00400H
SLR_MACHINE_IN_LOCAL_TARGET                     equ     00800H
SLR_UPDATE_MACHINE_AND_SID                      equ     01000H

SLGP_SHORTPATH                                  equ     00001H
SLGP_UNCPRIORITY                                equ     00002H
SLGP_RAWPATH                                    equ     00004H
SLGP_RELATIVEPRIORITY                           equ     00008H

SLDF_HAS_ID_LIST                                equ     00000001H
SLDF_HAS_LINK_INFO                              equ     00000002H
SLDF_HAS_NAME                                   equ     00000004H
SLDF_HAS_RELPATH                                equ     00000008H
SLDF_HAS_WORKINGDIR                             equ     00000010H
SLDF_HAS_ARGS                                   equ     00000020H
SLDF_HAS_ICONLOCATION                           equ     00000040H
SLDF_UNICODE                                    equ     00000080H
SLDF_FORCE_NO_LINKINFO                          equ     00000100H
SLDF_HAS_EXP_SZ                                 equ     00000200H
SLDF_RUN_IN_SEPARATE                            equ     00000400H
SLDF_HAS_LOGO3ID                                equ     00000800H
SLDF_HAS_DARWINID                               equ     00001000H
SLDF_RUNAS_USER                                 equ     00002000H
SLDF_HAS_EXP_ICON_SZ                            equ     00004000H
SLDF_NO_PIDL_ALIAS                              equ     00008000H
SLDF_FORCE_UNCNAME                              equ     00010000H
SLDF_RUN_WITH_SHIMLAYER                         equ     00020000H
SLDF_FORCE_NO_LINKTRACK                         equ     00040000H
SLDF_ENABLE_TARGET_METADATA                     equ     00080000H
SLDF_DISABLE_KNOWNFOLDER_RELATIVE_TRACKING      equ     00200000H
SLDF_VALID                                      equ     003FF7FFH
SLDF_RESERVED                                   equ     80000000H

EXP_DARWIN_ID_SIG                               equ     0A0000006H
EXP_LOGO3_ID_SIG                                equ     0A0000007H

EXP_SPECIAL_FOLDER_SIG                          equ     0A0000005H

EXP_SZ_LINK_SIG                                 equ     0A0000001H
EXP_SZ_ICON_SIG                                 equ     0A0000007H

EXP_PROPERTYSTORAGE_SIG                         equ     0A0000009H

IS_NORMAL                                       equ     1
IS_FULLSCREEN                                   equ     2
IS_SPLIT                                        equ     4
IS_VALIDSIZESTATEBITS                           equ     (IS_NORMAL or IS_SPLIT or IS_FULLSCREEN)
IS_VALIDSTATEBITS                               equ     (IS_NORMAL or IS_SPLIT or IS_FULLSCREEN or 80000000H or 40000000H)

if ~defined FWF_CHECKSELECT
    FWF_AUTOARRANGE                             equ     000001H
    FWF_ABBREVIATEDNAMES                        equ     000002H
    FWF_SNAPTOGRID                              equ     000004H
    FWF_OWNERDATA                               equ     000008H
    FWF_BESTFITWINDOW                           equ     000010H
    FWF_DESKTOP                                 equ     000020H
    FWF_SINGLESEL                               equ     000040H
    FWF_NOSUBFOLDERS                            equ     000080H
    FWF_TRANSPARENT                             equ     000100H
    FWF_NOCLIENTEDGE                            equ     000200H
    FWF_NOSCROLL                                equ     000400H
    FWF_ALIGNLEFT                               equ     000800H
    FWF_NOICONS                                 equ     001000H
    FWF_SHOWSELALWAYS                           equ     002000H
    FWF_NOVISIBLE                               equ     004000H
    FWF_SINGLECLICKACTIVATE                     equ     008000H
    FWF_NOWEBVIEW                               equ     010000H
    FWF_HIDEFILENAMES                           equ     020000H
    FWF_CHECKSELECT                             equ     040000H
end if

if ~defined FVM_LAST
    FVM_FIRST                                   equ     1
    FVM_ICON                                    equ     1
    FVM_SMALLICON                               equ     2
    FVM_LIST                                    equ     3
    FVM_DETAILS                                 equ     4
    FVM_THUMBNAIL                               equ     5
    FVM_TILE                                    equ     6
    FVM_THUMBSTRIP                              equ     7
    FVM_LAST                                    equ     7
end if

if ~defined FLVM_LAST
    FLVM_UNSPECIFIED                            equ     (-1)
    FLVM_FIRST                                  equ     1
    FLVM_DETAILS                                equ     1
    FLVM_TILES                                  equ     2
    FLVM_ICONS                                  equ     3
    FLVM_LIST                                   equ     4
    FLVM_CONTENT                                equ     5
    FLVM_LAST                                   equ     5
end if

SBSC_HIDE                                       equ     0
SBSC_SHOW                                       equ     1
SBSC_TOGGLE                                     equ     2
SBSC_QUERY                                      equ     3

SBO_DEFAULT                                     equ     0
SBO_NOBROWSERPAGES                              equ     1

if ~defined SVUIA_INPLACEACTIVATE
    SVUIA_DEACTIVATE                            equ     0
    SVUIA_ACTIVATE_NOFOCUS                      equ     1
    SVUIA_ACTIVATE_FOCUS                        equ     2
    SVUIA_INPLACEACTIVATE                       equ     3
end if

SV3CVW3_DEFAULT                                 equ     0
SV3CVW3_NONINTERACTIVE                          equ     01H
SV3CVW3_FORCEVIEWMODE                           equ     02H
SV3CVW3_FORCEFOLDERFLAGS                        equ     04H

VPWF_DEFAULT                                    equ     0
VPWF_ALPHABLEND                                 equ     1

VPCF_TEXT                                       equ     1
VPCF_BACKGROUND                                 equ     2
VPCF_SORTCOLUMN                                 equ     3
VPCF_SUBTEXT                                    equ     4
VPCF_TEXTBACKGROUND                             equ     5

CDBOSC_SETFOCUS                                 equ     00000000H
CDBOSC_KILLFOCUS                                equ     00000001H
CDBOSC_SELCHANGE                                equ     00000002H
CDBOSC_RENAME                                   equ     00000003H
CDBOSC_STATECHANGE                              equ     00000004H

SORT_DESCENDING                                 equ     (-1)
SORT_ASCENDING                                  equ     1

FVST_EMPTYTEXT                                  equ     0

SHGFP_TYPE_CURRENT                              equ     0
SHGFP_TYPE_DEFAULT                              equ     1

if ~defined SHGDN_FORPARSING
    SHGDN_NORMAL                                equ     0000H
    SHGDN_INFOLDER                              equ     0001H
    SHGDN_FOREDITING                            equ     1000H
    SHGDN_FORADDRESSBAR                         equ     4000H
    SHGDN_FORPARSING                            equ     8000H
end if

if ~defined SHCONTF_STORAGE
    SHCONTF_FOLDERS                             equ     0020H
    SHCONTF_NONFOLDERS                          equ     0040H
    SHCONTF_INCLUDEHIDDEN                       equ     0080H
    SHCONTF_INIT_ON_FIRST_NEXT                  equ     0100H
    SHCONTF_NETPRINTERSRCH                      equ     0200H
    SHCONTF_SHAREABLE                           equ     0400H
    SHCONTF_STORAGE                             equ     0800H
end if

if ~defined SHCOLSTATE_PREFER_VARCMP
    SHCOLSTATE_TYPE_STR                         equ     00001H
    SHCOLSTATE_TYPE_INT                         equ     00002H
    SHCOLSTATE_TYPE_DATE                        equ     00003H
    SHCOLSTATE_TYPEMASK                         equ     0000FH
    SHCOLSTATE_ONBYDEFAULT                      equ     00010H
    SHCOLSTATE_SLOW                             equ     00020H
    SHCOLSTATE_EXTENDED                         equ     00040H
    SHCOLSTATE_SECONDARYUI                      equ     00080H
    SHCOLSTATE_HIDDEN                           equ     00100H
    SHCOLSTATE_PREFER_VARCMP                    equ     00200H
end if

ISFB_MASK_STATE                                 equ     00000001H
ISFB_MASK_BKCOLOR                               equ     00000002H
ISFB_MASK_VIEWMODE                              equ     00000004H
ISFB_MASK_SHELLFOLDER                           equ     00000008H
ISFB_MASK_IDLIST                                equ     00000010H
ISFB_MASK_COLORS                                equ     00000020H

ISFB_STATE_DEFAULT                              equ     00000000H
ISFB_STATE_DEBOSSED                             equ     00000001H
ISFB_STATE_ALLOWRENAME                          equ     00000002H
ISFB_STATE_NOSHOWTEXT                           equ     00000004H
ISFB_STATE_CHANNELBAR                           equ     00000010H
ISFB_STATE_QLINKSMODE                           equ     00000020H
ISFB_STATE_FULLOPEN                             equ     00000040H
ISFB_STATE_NONAMESORT                           equ     00000080H
ISFB_STATE_BTNMINSIZE                           equ     00000100H

ISFBVIEWMODE_SMALLICONS                         equ     0001H
ISFBVIEWMODE_LARGEICONS                         equ     0002H
ISFBVIEWMODE_LOGOS                              equ     0003H

ACLO_NONE                                       equ     0
ACLO_CURRENTDIR                                 equ     1
ACLO_MYCOMPUTER                                 equ     2
ACLO_DESKTOP                                    equ     4
ACLO_FAVORITES                                  equ     8
ACLO_FILESYSONLY                                equ     16
ACLO_FILESYSDIRS                                equ     32
ACLO_VIRTUALNAMESPACE                           equ     64

;======================================= Structures ======================================;
if ~defined BROWSEINFO
    struct BROWSEINFOA
        hwndOwner       xptr ?
        pidlRoot        xptr ?
        pszDisplayName  xptr ?
        lpszTitle       xptr ?
        ulFlags         dd   ?
        lpfn            xptr ?
        lParam          xptr ?
        iImage          dd   ?
    ends

    struct BROWSEINFOW
        hwndOwner       xptr ?
        pidlRoot        xptr ?
        pszDisplayName  xptr ?
        lpszTitle       xptr ?
        ulFlags         dd   ?
        lpfn            xptr ?
        lParam          xptr ?
        iImage          dd   ?
    ends
end if

struct FILEDESCRIPTORA
    dwFlags             dd ?
    clsid               GUID
    sizel               SIZE
    pointl              POINT
    dwFileAttributes    dd ?
    ftCreationTime      FILETIME
    ftLastAccessTime    FILETIME
    ftLastWriteTime     FILETIME
    nFileSizeHigh       dd ?
    nFileSizeLow        dd ?
    cFileName           db MAX_PATH dup(?)
ends

struct FILEDESCRIPTORW
    dwFlags             dd ?
    clsid               GUID
    sizel               SIZE
    pointl              POINT
    dwFileAttributes    dd ?
    ftCreationTime      FILETIME
    ftLastAccessTime    FILETIME
    ftLastWriteTime     FILETIME
    nFileSizeHigh       dd ?
    nFileSizeLow        dd ?
    cFileName           dw MAX_PATH dup(?)
ends

struct FILEGROUPDESCRIPTORA
    cItems  dd ?
    fgd     FILEDESCRIPTORA
ends

struct FILEGROUPDESCRIPTORW
    cItems  dd ?
    fgd     FILEDESCRIPTORW
ends

struct SHELLSTATEA
    fShowAllObjects         dd ?
    fShowExtensions         dd ?
    fNoConfirmRecycle       dd ?
    fShowSysFiles           dd ?
    fShowCompColor          dd ?
    fDoubleClickInWebView   dd ?
    fDesktopHTML            dd ?
    fWin95Classic           dd ?
    fDontPrettyPath         dd ?
    fShowAttribCol          dd ?
    fMapNetDrvBtn           dd ?
    fShowInfoTip            dd ?
    fHideIcons              dd ?
    fWebView                dd ?
    fFilter                 dd ?
    fShowSuperHidden        dd ?
    fNoNetCrawling          dd ?
    dwWin95Unused           dd ?
    uWin95Unused            dd ?
    lParamSort              dd ?
    iSortDirection          dd ?
    version                 dd ?
    uNotUsed                dd ? ;You can rename it and use it
    fSepProcess             dd ?
    fStartPanelOn           dd ?
    fShowStartPage          dd ?
    fAutoCheckSelect        dd ?
    fIconsOnly              dd ?
    fShowTypeOverlay        dd ?
    fSpareFlags             dd ?
ends

struct SHELLSTATEW
    fShowAllObjects         dd ?
    fShowExtensions         dd ?
    fNoConfirmRecycle       dd ?
    fShowSysFiles           dd ?
    fShowCompColor          dd ?
    fDoubleClickInWebView   dd ?
    fDesktopHTML            dd ?
    fWin95Classic           dd ?
    fDontPrettyPath         dd ?
    fShowAttribCol          dd ?
    fMapNetDrvBtn           dd ?
    fShowInfoTip            dd ?
    fHideIcons              dd ?
    fWebView                dd ?
    fFilter                 dd ?
    fShowSuperHidden        dd ?
    fNoNetCrawling          dd ?
    dwWin95Unused           dd ?
    uWin95Unused            dd ?
    lParamSort              dd ?
    iSortDirection          dd ?
    version                 dd ?
    uNotUsed                dd ? ;You can rename it and use it
    fSepProcess             dd ?
    fStartPanelOn           dd ?
    fShowStartPage          dd ?
    fAutoCheckSelect        dd ?
    fIconsOnly              dd ?
    fShowTypeOverlay        dd ?
    fSpareFlags             dd ?
ends

if defined APP_UNICODE
    BFFM_SETSTATUSTEXT equ BFFM_SETSTATUSTEXTW
    BFFM_SETSELECTION equ BFFM_SETSELECTIONW
    BFFM_VALIDATEFAILED equ BFFM_VALIDATEFAILEDW
    SHCNF_PATH equ SHCNF_PATHW
    SHCNF_PRINTER equ SHCNF_PRINTERW
    GCS_VERB equ GCS_VERBW
    GCS_HELPTEXT equ GCS_HELPTEXTW
    GCS_VALIDATE equ GCS_VALIDATEW
    CMDSTR_NEWFOLDER equ CMDSTR_NEWFOLDERW
    CMDSTR_VIEWLIST equ CMDSTR_VIEWLISTW
    CMDSTR_VIEWDETAILS equ CMDSTR_VIEWDETAILSW

    BROWSEINFO fix BROWSEINFOW
    FILEGROUPDESCRIPTOR fix FILEGROUPDESCRIPTORW
    FILEDESCRIPTOR fix FILEDESCRIPTORW
    SHELLSTATE fix SHELLSTATEW
else
    BFFM_SETSTATUSTEXT equ BFFM_SETSTATUSTEXTA
    BFFM_SETSELECTION equ BFFM_SETSELECTIONA
    BFFM_VALIDATEFAILED equ BFFM_VALIDATEFAILEDA
    SHCNF_PATH equ SHCNF_PATHA
    SHCNF_PRINTER equ SHCNF_PRINTERA
    GCS_VERB equ GCS_VERBA
    GCS_HELPTEXT equ GCS_HELPTEXTA
    GCS_VALIDATE equ GCS_VALIDATEA
    CMDSTR_NEWFOLDER equ CMDSTR_NEWFOLDERA
    CMDSTR_VIEWLIST equ CMDSTR_VIEWLISTA
    CMDSTR_VIEWDETAILS equ CMDSTR_VIEWDETAILSA

    BROWSEINFO fix BROWSEINFOA
    FILEGROUPDESCRIPTOR fix FILEGROUPDESCRIPTORA
    FILEDESCRIPTOR fix FILEDESCRIPTORA
	SHELLSTATE fix SHELLSTATEA
end if

end if ;SHLOBJ_INC
