19#ifndef __WINE_SHLOBJ_H
20#define __WINE_SHLOBJ_H
30#ifdef WINE_NO_UNICODE_MACROS
86#define FCS_READ 0x00000001
87#define FCS_FORCEWRITE 0x00000002
89#define FCSM_ICONFILE 0x00000010
152#define SHCLSIDFromString WINELIB_NAME_AW(SHCLSIDFromString)
200#define SHGetFolderPathAndSubDir WINELIB_NAME_AW(SHGetFolderPathAndSubDir)
216#define SHSetFolderPath WINELIB_NAME_AW(SHSetFolderPath)
228#define PathIsSlow WINELIB_NAME_AW(PathIsSlow)
244#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
280#define SHPathPrepareForWrite WINELIB_NAME_AW(SHPathPrepareForWrite)
302#define SHUpdateImage WINELIB_NAME_AW(SHUpdateImage)
325#define KF_FLAG_DEFAULT_PATH 0x00000400
327#define SHFMT_ERROR 0xFFFFFFFFL
328#define SHFMT_CANCEL 0xFFFFFFFEL
329#define SHFMT_NOFORMAT 0xFFFFFFFDL
332#define SHFMT_ID_DEFAULT 0xFFFF
333#define SHFMT_OPT_FULL 1
334#define SHFMT_OPT_SYSONLY 2
337#define SHPPFW_NONE 0x00000000
338#define SHPPFW_DIRCREATE 0x00000001
339#define SHPPFW_DEFAULT SHPPFW_DIRCREATE
340#define SHPPFW_ASKDIRCREATE 0x00000002
341#define SHPPFW_IGNOREFILENAME 0x00000004
342#define SHPPFW_NOWRITECHECK 0x00000008
343#define SHPPFW_MEDIACHECKONLY 0x00000010
346#define SHOP_PRINTERNAME 0x01
347#define SHOP_FILEPATH 0x02
348#define SHOP_VOLUMEGUID 0x04
366#define PCS_FATAL 0x80000000
367#define PCS_REPLACEDCHAR 0x00000001
368#define PCS_REMOVEDCHAR 0x00000002
369#define PCS_TRUNCATED 0x00000004
370#define PCS_PATHTOOLONG 0x00000008
374#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP) && (_WIN32_WINNT <= _WIN32_WINNT_WS03)
398#define SHOpenPropSheet WINELIB_NAME_AW(SHOpenPropSheet)
418#define CFSTR_SHELLIDLISTA "Shell IDList Array"
419#define CFSTR_SHELLIDLISTOFFSETA "Shell Object Offsets"
420#define CFSTR_NETRESOURCESA "Net Resource"
422#define CFSTR_FILEDESCRIPTORA "FileGroupDescriptor"
424#define CFSTR_FILECONTENTSA "FileContents"
425#define CFSTR_FILENAMEA "FileName"
426#define CFSTR_FILENAMEMAPA "FileNameMap"
427#define CFSTR_PRINTERGROUPA "PrinterFriendlyName"
428#define CFSTR_SHELLURLA "UniformResourceLocator"
429#define CFSTR_INETURLA CFSTR_SHELLURLA
430#define CFSTR_PREFERREDDROPEFFECTA "Preferred DropEffect"
431#define CFSTR_PERFORMEDDROPEFFECTA "Performed DropEffect"
432#define CFSTR_PASTESUCCEEDEDA "Paste Succeeded"
433#define CFSTR_INDRAGLOOPA "InShellDragLoop"
434#define CFSTR_DRAGCONTEXTA "DragContext"
435#define CFSTR_MOUNTEDVOLUMEA "MountedVolume"
436#define CFSTR_PERSISTEDDATAOBJECTA "PersistedDataObject"
437#define CFSTR_TARGETCLSIDA "TargetCLSID"
438#define CFSTR_AUTOPLAY_SHELLIDLISTSA "Autoplay Enumerated IDList Array"
439#define CFSTR_LOGICALPERFORMEDDROPEFFECTA "Logical Performed DropEffect"
442# define CFSTR_SHELLIDLISTW \
443 (const WCHAR []){ 'S','h','e','l','l',' ','I','D','L','i','s','t',' ','A','r','r','a','y',0 }
444# define CFSTR_SHELLIDLISTOFFSETW \
445 (const WCHAR []){ 'S','h','e','l','l',' ','O','b','j','e','c','t',' ','O','f','f','s','e','t','s',0 }
446# define CFSTR_NETRESOURCESW \
447 (const WCHAR []){ 'N','e','t',' ','R','e','s','o','u','r','c','e',0 }
448# define CFSTR_FILEDESCRIPTORW \
449 (const WCHAR []){ 'F','i','l','e','G','r','o','u','p','D','e','s','c','r','i','p','t','o','r','W',0 }
450# define CFSTR_FILECONTENTSW \
451 (const WCHAR []){ 'F','i','l','e','C','o','n','t','e','n','t','s',0 }
452# define CFSTR_FILENAMEW \
453 (const WCHAR []){ 'F','i','l','e','N','a','m','e','W',0 }
454# define CFSTR_FILENAMEMAPW \
455 (const WCHAR []){ 'F','i','l','e','N','a','m','e','M','a','p','W',0 }
456# define CFSTR_PRINTERGROUPW \
457 (const WCHAR []){ 'P','r','i','n','t','e','r','F','r','i','e','n','d','l','y','N','a','m','e',0 }
458# define CFSTR_SHELLURLW \
459 (const WCHAR []){ 'U','n','i','f','o','r','m','R','e','s','o','u','r','c','e','L','o','c','a','t','o','r',0 }
460# define CFSTR_INETURLW \
461 (const WCHAR []){ 'U','n','i','f','o','r','m','R','e','s','o','u','r','c','e','L','o','c','a','t','o','r','W',0 }
462# define CFSTR_PREFERREDDROPEFFECTW \
463 (const WCHAR []){ 'P','r','e','f','e','r','r','e','d',' ','D','r','o','p','E','f','f','e','c','t',0 }
464# define CFSTR_PERFORMEDDROPEFFECTW \
465 (const WCHAR []){ 'P','e','r','f','o','r','m','e','d',' ','D','r','o','p','E','f','f','e','c','t',0 }
466# define CFSTR_PASTESUCCEEDEDW \
467 (const WCHAR []){ 'P','a','s','t','e',' ','S','u','c','c','e','e','d','e','d',0 }
468# define CFSTR_INDRAGLOOPW \
469 (const WCHAR []){ 'I','n','S','h','e','l','l','D','r','a','g','L','o','o','p',0 }
470# define CFSTR_DRAGCONTEXTW \
471 (const WCHAR []){ 'D','r','a','g','C','o','n','t','e','x','t',0 }
472# define CFSTR_MOUNTEDVOLUMEW \
473 (const WCHAR []){ 'M','o','u','n','t','e','d','V','o','l','u','m','e',0 }
474# define CFSTR_PERSISTEDDATAOBJECTW \
475 (const WCHAR []){ 'P','e','r','s','i','s','t','e','d','D','a','t','a','O','b','j','e','c','t',0 }
476# define CFSTR_TARGETCLSIDW \
477 (const WCHAR []){ 'T','a','r','g','e','t','C','L','S','I','D',0 }
478# define CFSTR_AUTOPLAY_SHELLIDLISTSW \
479 (const WCHAR []){ 'A','u','t','o','p','l','a','y',' ','E','n','u','m','e','r','a','t','e','d',\
480 ' ','I','D','L','i','s','t',' ','A','r','r','a','y',0 }
481# define CFSTR_LOGICALPERFORMEDDROPEFFECTW \
482 (const WCHAR []){ 'L','o','g','i','c','a','l',' ','P','e','r','f','o','r','m','e','d',\
483 ' ','D','r','o','p','E','f','f','e','c','t',0 }
484#elif defined(_MSC_VER)
485# define CFSTR_SHELLIDLISTW L"Shell IDList Array"
486# define CFSTR_SHELLIDLISTOFFSETW L"Shell Object Offsets"
487# define CFSTR_NETRESOURCESW L"Net Resource"
488# define CFSTR_FILEDESCRIPTORW L"FileGroupDescriptorW"
489# define CFSTR_FILECONTENTSW L"FileContents"
490# define CFSTR_FILENAMEW L"FileNameW"
491# define CFSTR_FILENAMEMAPW L"FileNameMapW"
492# define CFSTR_PRINTERGROUPW L"PrinterFriendlyName"
493# define CFSTR_SHELLURLW L"UniformResourceLocator"
494# define CFSTR_INETURLW L"UniformResourceLocatorW"
495# define CFSTR_PREFERREDDROPEFFECTW L"Preferred DropEffect"
496# define CFSTR_PERFORMEDDROPEFFECTW L"Performed DropEffect"
497# define CFSTR_PASTESUCCEEDEDW L"Paste Succeeded"
498# define CFSTR_INDRAGLOOPW L"InShellDragLoop"
499# define CFSTR_DRAGCONTEXTW L"DragContext"
500# define CFSTR_MOUNTEDVOLUMEW L"MountedVolume"
501# define CFSTR_PERSISTEDDATAOBJECTW L"PersistedDataObject"
502# define CFSTR_TARGETCLSIDW L"TargetCLSID"
503# define CFSTR_AUTOPLAY_SHELLIDLISTSW L"Autoplay Enumerated IDList Array"
504# define CFSTR_LOGICALPERFORMEDDROPEFFECTW L"Logical Performed DropEffect"
507 {
'S',
'h',
'e',
'l',
'l',
' ',
'I',
'D',
'L',
'i',
's',
't',
' ',
'A',
'r',
'r',
'a',
'y',0 };
509 {
'S',
'h',
'e',
'l',
'l',
' ',
'O',
'b',
'j',
'e',
'c',
't',
' ',
'O',
'f',
'f',
's',
'e',
't',
's',0 };
511 {
'N',
'e',
't',
' ',
'R',
'e',
's',
'o',
'u',
'r',
'c',
'e',0 };
513 {
'F',
'i',
'l',
'e',
'G',
'r',
'o',
'u',
'p',
'D',
'e',
's',
'c',
'r',
'i',
'p',
't',
'o',
'r',
'W',0 };
515 {
'F',
'i',
'l',
'e',
'C',
'o',
'n',
't',
'e',
'n',
't',
's',0 };
517 {
'F',
'i',
'l',
'e',
'N',
'a',
'm',
'e',
'W',0 };
519 {
'F',
'i',
'l',
'e',
'N',
'a',
'm',
'e',
'M',
'a',
'p',
'W',0 };
521 {
'P',
'r',
'i',
'n',
't',
'e',
'r',
'F',
'r',
'i',
'e',
'n',
'd',
'l',
'y',
'N',
'a',
'm',
'e',0 };
523 {
'U',
'n',
'i',
'f',
'o',
'r',
'm',
'R',
'e',
's',
'o',
'u',
'r',
'c',
'e',
'L',
'o',
'c',
'a',
't',
'o',
'r',0 };
525 {
'U',
'n',
'i',
'f',
'o',
'r',
'm',
'R',
'e',
's',
'o',
'u',
'r',
'c',
'e',
'L',
'o',
'c',
'a',
't',
'o',
'r',
'W',0 };
527 {
'P',
'r',
'e',
'f',
'e',
'r',
'r',
'e',
'd',
' ',
'D',
'r',
'o',
'p',
'E',
'f',
'f',
'e',
'c',
't',0 };
529 {
'P',
'e',
'r',
'f',
'o',
'r',
'm',
'e',
'd',
' ',
'D',
'r',
'o',
'p',
'E',
'f',
'f',
'e',
'c',
't',0 };
531 {
'P',
'a',
's',
't',
'e',
' ',
'S',
'u',
'c',
'c',
'e',
'e',
'd',
'e',
'd',0 };
533 {
'I',
'n',
'S',
'h',
'e',
'l',
'l',
'D',
'r',
'a',
'g',
'L',
'o',
'o',
'p',0 };
535 {
'D',
'r',
'a',
'g',
'C',
'o',
'n',
't',
'e',
'x',
't',0 };
537 {
'M',
'o',
'u',
'n',
't',
'e',
'd',
'V',
'o',
'l',
'u',
'm',
'e',0 };
539 {
'P',
'e',
'r',
's',
'i',
's',
't',
'e',
'd',
'D',
'a',
't',
'a',
'O',
'b',
'j',
'e',
'c',
't',0 };
541 {
'T',
'a',
'r',
'g',
'e',
't',
'C',
'L',
'S',
'I',
'D',0 };
543 {
'A',
'u',
't',
'o',
'p',
'l',
'a',
'y',
' ',
'E',
'n',
'u',
'm',
'e',
'r',
'a',
't',
'e',
'd',
544 ' ',
'I',
'D',
'L',
'i',
's',
't',
' ',
'A',
'r',
'r',
'a',
'y',0 };
546 {
'L',
'o',
'g',
'i',
'c',
'a',
'l',
' ',
'P',
'e',
'r',
'f',
'o',
'r',
'm',
'e',
'd',
547 ' ',
'D',
'r',
'o',
'p',
'E',
'f',
'f',
'e',
'c',
't',0 };
550#define CFSTR_SHELLIDLIST WINELIB_NAME_AW(CFSTR_SHELLIDLIST)
551#define CFSTR_SHELLIDLISTOFFSET WINELIB_NAME_AW(CFSTR_SHELLIDLISTOFFSET)
552#define CFSTR_NETRESOURCES WINELIB_NAME_AW(CFSTR_NETRESOURCES)
553#define CFSTR_FILEDESCRIPTOR WINELIB_NAME_AW(CFSTR_FILEDESCRIPTOR)
554#define CFSTR_FILECONTENTS WINELIB_NAME_AW(CFSTR_FILECONTENTS)
555#define CFSTR_FILENAME WINELIB_NAME_AW(CFSTR_FILENAME)
556#define CFSTR_FILENAMEMAP WINELIB_NAME_AW(CFSTR_FILENAMEMAP)
557#define CFSTR_PRINTERGROUP WINELIB_NAME_AW(CFSTR_PRINTERGROUP)
558#define CFSTR_SHELLURL WINELIB_NAME_AW(CFSTR_SHELLURL)
559#define CFSTR_INETURL WINELIB_NAME_AW(CFSTR_INETURL)
560#define CFSTR_PREFERREDDROPEFFECT WINELIB_NAME_AW(CFSTR_PREFERREDDROPEFFECT)
561#define CFSTR_PERFORMEDDROPEFFECT WINELIB_NAME_AW(CFSTR_PERFORMEDDROPEFFECT)
562#define CFSTR_PASTESUCCEEDED WINELIB_NAME_AW(CFSTR_PASTESUCCEEDED)
563#define CFSTR_INDRAGLOOP WINELIB_NAME_AW(CFSTR_INDRAGLOOP)
564#define CFSTR_DRAGCONTEXT WINELIB_NAME_AW(CFSTR_DRAGCONTEXT)
565#define CFSTR_MOUNTEDVOLUME WINELIB_NAME_AW(CFSTR_MOUNTEDVOLUME)
566#define CFSTR_PERSISTEDDATAOBJECT WINELIB_NAME_AW(CFSTR_PERSISTEDDATAOBJECT)
567#define CFSTR_TARGETCLSID WINELIB_NAME_AW(CFSTR_TARGETCLSID)
568#define CFSTR_AUTOPLAY_SHELLIDLISTS WINELIB_NAME_AW(CFSTR_AUTOPLAY_SHELLIDLISTS)
569#define CFSTR_LOGICALPERFORMEDDROPEFFECT WINELIB_NAME_AW(CFSTR_LOGICALPERFORMEDDROPEFFECT)
580#define FCIDM_SHVIEWFIRST 0x0000
582#define FCIDM_SHVIEW_ARRANGE 0x7001
583#define FCIDM_SHVIEW_DELETE 0x7011
584#define FCIDM_SHVIEW_PROPERTIES 0x7013
585#define FCIDM_SHVIEW_CUT 0x7018
586#define FCIDM_SHVIEW_COPY 0x7019
587#define FCIDM_SHVIEW_INSERT 0x701A
588#define FCIDM_SHVIEW_UNDO 0x701B
589#define FCIDM_SHVIEW_INSERTLINK 0x701C
590#define FCIDM_SHVIEW_COPYTO 0x701E
591#define FCIDM_SHVIEW_MOVETO 0x701F
592#define FCIDM_SHVIEW_SELECTALL 0x7021
593#define FCIDM_SHVIEW_INVERTSELECTION 0x7022
595#define FCIDM_SHVIEW_BIGICON 0x7029
596#define FCIDM_SHVIEW_SMALLICON 0x702A
597#define FCIDM_SHVIEW_LISTVIEW 0x702B
598#define FCIDM_SHVIEW_REPORTVIEW 0x702C
600#define FCIDM_SHVIEW_AUTOARRANGE 0x7031
601#define FCIDM_SHVIEW_SNAPTOGRID 0x7032
602#define FCIDM_SHVIEW_ALIGNTOGRID 0x7033
604#define FCIDM_SHVIEW_HELP 0x7041
605#define FCIDM_SHVIEW_RENAME 0x7050
606#define FCIDM_SHVIEW_CREATELINK 0x7051
607#define FCIDM_SHVIEW_NEWLINK 0x7052
608#define FCIDM_SHVIEW_NEWFOLDER 0x7053
610#define FCIDM_SHVIEW_REFRESH 0x7100
611#define FCIDM_SHVIEW_EXPLORE 0x7101
612#define FCIDM_SHVIEW_OPEN 0x7102
614#define FCIDM_SHVIEWLAST 0x7fff
615#define FCIDM_BROWSERFIRST 0xA000
617#define FCIDM_TB_UPFOLDER 0xA001
618#define FCIDM_TB_NEWFOLDER 0xA002
619#define FCIDM_TB_SMALLICON 0xA003
620#define FCIDM_TB_REPORTVIEW 0xA004
621#define FCIDM_TB_DESKTOP 0xA005
623#define FCIDM_BROWSERLAST 0xbf00
624#define FCIDM_GLOBALFIRST 0x8000
625#define FCIDM_GLOBALLAST 0x9fff
630#define FCIDM_MENU_FILE (FCIDM_GLOBALFIRST+0x0000)
631#define FCIDM_MENU_EDIT (FCIDM_GLOBALFIRST+0x0040)
632#define FCIDM_MENU_VIEW (FCIDM_GLOBALFIRST+0x0080)
633#define FCIDM_MENU_VIEW_SEP_OPTIONS (FCIDM_GLOBALFIRST+0x0081)
634#define FCIDM_MENU_TOOLS (FCIDM_GLOBALFIRST+0x00c0)
635#define FCIDM_MENU_TOOLS_SEP_GOTO (FCIDM_GLOBALFIRST+0x00c1)
636#define FCIDM_MENU_HELP (FCIDM_GLOBALFIRST+0x0100)
637#define FCIDM_MENU_FIND (FCIDM_GLOBALFIRST+0x0140)
638#define FCIDM_MENU_EXPLORE (FCIDM_GLOBALFIRST+0x0150)
639#define FCIDM_MENU_FAVORITES (FCIDM_GLOBALFIRST+0x0170)
642#define FCIDM_TOOLBAR (FCIDM_BROWSERFIRST + 0)
643#define FCIDM_STATUS (FCIDM_BROWSERFIRST + 1)
645#define INTERFACE IShellDetails
658#if !defined(__cplusplus) || defined(CINTERFACE)
660#define IShellDetails_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
661#define IShellDetails_AddRef(p) (p)->lpVtbl->AddRef(p)
662#define IShellDetails_Release(p) (p)->lpVtbl->Release(p)
664#define IShellDetails_GetDetailsOf(p,a,b,c) (p)->lpVtbl->GetDetailsOf(p,a,b,c)
665#define IShellDetails_ColumnClick(p,a) (p)->lpVtbl->ColumnClick(p,a)
669#define INTERFACE IQueryInfo
682#if !defined(__cplusplus) || defined(CINTERFACE)
684#define IQueryInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
685#define IQueryInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
686#define IQueryInfo_Release(p) (p)->lpVtbl->Release(p)
688#define IQueryInfo_GetInfoTip(p,a,b) (p)->lpVtbl->GetInfoTip(p,a,b)
689#define IQueryInfo_GetInfoFlags(p,a) (p)->lpVtbl->GetInfoFlags(p,a)
693#define INTERFACE IInputObject
707#if !defined(__cplusplus) || defined(CINTERFACE)
709#define IInputObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
710#define IInputObject_AddRef(p) (p)->lpVtbl->AddRef(p)
711#define IInputObject_Release(p) (p)->lpVtbl->Release(p)
713#define IInputObject_UIActivateIO(p,a,b) (p)->lpVtbl->UIActivateIO(p,a,b)
714#define IInputObject_HasFocusIO(p) (p)->lpVtbl->HasFocusIO(p)
715#define IInputObject_TranslateAcceleratorIO(p,a) (p)->lpVtbl->TranslateAcceleratorIO(p,a)
719#define INTERFACE IInputObjectSite
731#if !defined(__cplusplus) || defined(CINTERFACE)
733#define IInputObjectSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
734#define IInputObjectSite_AddRef(p) (p)->lpVtbl->AddRef(p)
735#define IInputObjectSite_Release(p) (p)->lpVtbl->Release(p)
737#define IInputObjectSite_OnFocusChangeIS(p,a,b) (p)->lpVtbl->OnFocusChangeIS(p,a,b)
741#define INTERFACE IObjMgr
754#if !defined(__cplusplus) || defined(CINTERFACE)
756#define IObjMgr_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
757#define IObjMgr_AddRef(p) (p)->lpVtbl->AddRef(p)
758#define IObjMgr_Release(p) (p)->lpVtbl->Release(p)
760#define IObjMgr_Append(p,a) (p)->lpVtbl->Append(p,a)
761#define IObjMgr_Remove(p,a) (p)->lpVtbl->Remove(p,a)
765#define INTERFACE ICurrentWorkingDirectory
778#if !defined(__cplusplus) || defined(CINTERFACE)
780#define ICurrentWorkingDirectory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
781#define ICurrentWorkingDirectory_AddRef(p) (p)->lpVtbl->AddRef(p)
782#define ICurrentWorkingDirectory_Release(p) (p)->lpVtbl->Release(p)
784#define ICurrentWorkingDirectory_GetDirectory(p,a,b) (p)->lpVtbl->GetDirectory(p,a,b)
785#define ICurrentWorkingDirectory_SetDirectory(p,a) (p)->lpVtbl->SetDirectory(p,a)
789#define INTERFACE IACList
801#if !defined(__cplusplus) || defined(CINTERFACE)
803#define IACList_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
804#define IACList_AddRef(p) (p)->lpVtbl->AddRef(p)
805#define IACList_Release(p) (p)->lpVtbl->Release(p)
807#define IACList_Expand(p,a) (p)->lpVtbl->Expand(p,a)
812#define ACLO_NONE 0x00000000
813#define ACLO_CURRENTDIR 0x00000001
814#define ACLO_MYCOMPUTER 0x00000002
815#define ACLO_DESKTOP 0x00000004
816#define ACLO_FAVORITES 0x00000008
817#define ACLO_FILESYSONLY 0x00000010
818#define ACLO_FILESYSDIRS 0x00000020
820#define INTERFACE IACList2
835#if !defined(__cplusplus) || defined(CINTERFACE)
837#define IACList2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
838#define IACList2_AddRef(p) (p)->lpVtbl->AddRef(p)
839#define IACList2_Release(p) (p)->lpVtbl->Release(p)
841#define IACList2_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
842#define IACList2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
849#define INTERFACE IShellFolderViewCB
861#if !defined(__cplusplus) || defined(CINTERFACE)
863#define IShellFolderViewCB_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
864#define IShellFolderViewCB_AddRef(p) (p)->lpVtbl->AddRef(p)
865#define IShellFolderViewCB_Release(p) (p)->lpVtbl->Release(p)
867#define IShellFolderViewCB_MessageSFVCB(p,a,b,c) (p)->lpVtbl->MessageSFVCB(p,a,b,c)
886#define INTERFACE IShellFolderView
887DEFINE_GUID(IID_IShellFolderView,0x37a378c0,0xf82d,0x11ce,0xae,0x65,0x08,0x00,0x2b,0x2e,0x12,0x62);
927#if !defined(__cplusplus) || defined(CINTERFACE)
929#define IShellFolderView_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
930#define IShellFolderView_AddRef(p) (p)->lpVtbl->AddRef(p)
931#define IShellFolderView_Release(p) (p)->lpVtbl->Release(p)
933#define IShellFolderView_Rearrange(p,a) (p)->lpVtbl->Rearrange(p,a)
934#define IShellFolderView_GetArrangeParam(p,a) (p)->lpVtbl->GetArrangeParam(p,a)
935#define IShellFolderView_ArrangeGrid(p) (p)->lpVtbl->ArrangeGrid(p)
936#define IShellFolderView_AutoArrange(p) (p)->lpVtbl->AutoArrange(p)
937#define IShellFolderView_GetAutoArrange(p) (p)->lpVtbl->GetAutoArrange(p)
938#define IShellFolderView_AddObject(p,a,b) (p)->lpVtbl->AddObject(p,a,b)
939#define IShellFolderView_GetObject(p,a,b) (p)->lpVtbl->GetObject(p,a,b)
940#define IShellFolderView_RemoveObject(p,a,b) (p)->lpVtbl->RemoveObject(p,a,b)
941#define IShellFolderView_GetObjectCount(p,a) (p)->lpVtbl->GetObjectCount(p,a)
942#define IShellFolderView_SetObjectCount(p,a,b) (p)->lpVtbl->SetObjectCount(p,a,b)
943#define IShellFolderView_UpdateObject(p,a,b,c) (p)->lpVtbl->UpdateObject(p,a,b,c)
944#define IShellFolderView_RefreshObject(p,a,b) (p)->lpVtbl->RefreshObject(p,a,b)
945#define IShellFolderView_SetRedraw(p,a) (p)->lpVtbl->SetRedraw(p,a)
946#define IShellFolderView_GetSelectedCount(p,a) (p)->lpVtbl->GetSelectedCount(p,a)
947#define IShellFolderView_GetSelectedObjects(p,a,b) (p)->lpVtbl->GetSelectedObjects(p,a,b)
948#define IShellFolderView_IsDropOnSource(p,a) (p)->lpVtbl->IsDropOnSource(p,a)
949#define IShellFolderView_GetDragPoint(p,a) (p)->lpVtbl->GetDragPoint(p,a)
950#define IShellFolderView_GetDropPoint(p,a) (p)->lpVtbl->GetDropPoint(p,a)
951#define IShellFolderView_MoveIcons(p,a) (p)->lpVtbl->MoveIcons(p,a)
952#define IShellFolderView_SetItemPos(p,a,b) (p)->lpVtbl->SetItemPos(p,a,b)
953#define IShellFolderView_DropTarget(p,a) (p)->lpVtbl->DropTarget(p,a)
954#define IShellFolderView_SetClipboard(p,a) (p)->lpVtbl->SetClipboard(p,a)
955#define IShellFolderView_SetPoints(p,a) (p)->lpVtbl->SetPoints(p,a)
956#define IShellFolderView_GetItemSpacing(p,a) (p)->lpVtbl->GetItemSpacing(p,a)
957#define IShellFolderView_SetCallback(p,a) (p)->lpVtbl->SetCallback(p,a)
958#define IShellFolderView_Select(p,a) (p)->lpVtbl->Select(p,a)
959#define IShellFolderView_QuerySupport(p,a) (p)->lpVtbl->QuerySupport(p,a)
960#define IShellFolderView_SetAutomationObject(p,a) (p)->lpVtbl->SetAutomationObject(p,a)
964#define PROGDLG_NORMAL 0x00000000
965#define PROGDLG_MODAL 0x00000001
966#define PROGDLG_AUTOTIME 0x00000002
967#define PROGDLG_NOTIME 0x00000004
968#define PROGDLG_NOMINIMIZE 0x00000008
969#define PROGDLG_NOPROGRESSBAR 0x00000010
970#define PROGDLG_MARQUEEPROGRESS 0x00000020
971#define PROGDLG_NOCANCEL 0x00000040
973#define PDTIMER_RESET 0x00000001
974#define PDTIMER_PAUSE 0x00000002
975#define PDTIMER_RESUME 0x00000003
977#define INTERFACE IProgressDialog
998#if !defined(__cplusplus) || defined(CINTERFACE)
1000#define IProgressDialog_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1001#define IProgressDialog_AddRef(p) (p)->lpVtbl->AddRef(p)
1002#define IProgressDialog_Release(p) (p)->lpVtbl->Release(p)
1004#define IProgressDialog_StartProgressDialog(p,a,b,c,d) (p)->lpVtbl->StartProgressDialog(p,a,b,c,d)
1005#define IProgressDialog_StopProgressDialog(p) (p)->lpVtbl->StopProgressDialog(p)
1006#define IProgressDialog_SetTitle(p,a) (p)->lpVtbl->SetTitle(p,a)
1007#define IProgressDialog_SetAnimation(p,a,b) (p)->lpVtbl->SetAnimation(p,a,b)
1008#define IProgressDialog_HasUserCancelled(p) (p)->lpVtbl->HasUserCancelled(p)
1009#define IProgressDialog_SetProgress(p,a,b) (p)->lpVtbl->SetProgress(p,a,b)
1010#define IProgressDialog_SetProgress64(p,a,b) (p)->lpVtbl->SetProgress64(p,a,b)
1011#define IProgressDialog_SetLine(p,a,b,c,d) (p)->lpVtbl->SetLine(p,a,b,c,d)
1012#define IProgressDialog_SetCancelMsg(p,a,b) (p)->lpVtbl->SetCancelMsg(p,a,b)
1013#define IProgressDialog_Timer(p,a,b) (p)->lpVtbl->Timer(p,a,b)
1018#define INTERFACE IDeskBarClient
1036#if !defined(__cplusplus) || defined(CINTERFACE)
1038#define IDeskBarClient_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1039#define IDeskBarClient_AddRef(p) (p)->lpVtbl->AddRef(p)
1040#define IDeskBarClient_Release(p) (p)->lpVtbl->Release(p)
1042#define IDeskBarClient_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
1043#define IDeskBarClient_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
1045#define IDeskBarClient_SetDeskBarSite(p,a) (p)->lpVtbl->SetDeskBarSite(p,a)
1046#define IDeskBarClient_SetModeDBC(p,a) (p)->lpVtbl->SetModeDBC(p,a)
1047#define IDeskBarClient_UIActivateDBC(p,a) (p)->lpVtbl->UIActivateDBC(p,a)
1048#define IDeskBarClient_GetSize(p,a,b) (p)->lpVtbl->GetSize(p,a,b)
1051#define DBC_GS_IDEAL 0
1052#define DBC_GS_SIZEDOWN 1
1056#define DBC_SHOWOBSCURE 2
1061#ifdef _WINE_WININET_H_
1067typedef struct _tagWALLPAPEROPT
1073typedef WALLPAPEROPT *LPWALLPAPEROPT;
1074typedef const WALLPAPEROPT *LPCWALLPAPEROPT;
1076typedef struct _tagCOMPONENTSOPT
1079 BOOL fEnableComponents;
1080 BOOL fActiveDesktop;
1083typedef COMPONENTSOPT *LPCOMPONENTSOPT;
1084typedef const COMPONENTSOPT *LPCCOMPONENTSOPT;
1087typedef struct _tagCOMPPOS
1098 int iPreferredLeftPercent;
1099 int iPreferredTopPercent;
1102typedef struct _tagCOMPSTATEINFO
1112typedef struct _tagCOMPONENT
1124 DWORD dwCurItemState;
1125 COMPSTATEINFO csiOriginal;
1126 COMPSTATEINFO csiRestored;
1129typedef COMPONENT *LPCOMPONENT;
1130typedef const COMPONENT *LPCCOMPONENT;
1132#pragma push_macro("AddDesktopItem")
1133#undef AddDesktopItem
1136#define INTERFACE IActiveDesktop
1167#pragma pop_macro("AddDesktopItem")
1174#define SHARD_PIDL 0x00000001L
1175#define SHARD_PATHA 0x00000002L
1176#define SHARD_PATHW 0x00000003L
1177#define SHARD_PATH WINELIB_NAME_AW(SHARD_PATH)
1210#define BROWSEINFO WINELIB_NAME_AW(BROWSEINFO)
1211#define PBROWSEINFO WINELIB_NAME_AW(PBROWSEINFO)
1212#define LPBROWSEINFO WINELIB_NAME_AW(LPBROWSEINFO)
1217#define BIF_RETURNONLYFSDIRS 0x0001
1218#define BIF_DONTGOBELOWDOMAIN 0x0002
1219#define BIF_STATUSTEXT 0x0004
1220#define BIF_RETURNFSANCESTORS 0x0008
1221#define BIF_EDITBOX 0x0010
1222#define BIF_VALIDATE 0x0020
1223#define BIF_NEWDIALOGSTYLE 0x0040
1224#define BIF_USENEWUI (BIF_NEWDIALOGSTYLE | BIF_EDITBOX)
1225#define BIF_BROWSEINCLUDEURLS 0x0080
1226#define BIF_UAHINT 0x0100
1227#define BIF_NONEWFOLDERBUTTON 0x0200
1228#define BIF_NOTRANSLATETARGETS 0x0400
1230#define BIF_BROWSEFORCOMPUTER 0x1000
1231#define BIF_BROWSEFORPRINTER 0x2000
1232#define BIF_BROWSEINCLUDEFILES 0x4000
1233#define BIF_SHAREABLE 0x8000
1236#define BFFM_INITIALIZED 1
1237#define BFFM_SELCHANGED 2
1238#define BFFM_VALIDATEFAILEDA 3
1239#define BFFM_VALIDATEFAILEDW 4
1240#define BFFM_IUNKNOWN 5
1243#define BFFM_SETSTATUSTEXTA (WM_USER+100)
1244#define BFFM_ENABLEOK (WM_USER+101)
1245#define BFFM_SETSELECTIONA (WM_USER+102)
1246#define BFFM_SETSELECTIONW (WM_USER+103)
1247#define BFFM_SETSTATUSTEXTW (WM_USER+104)
1248#define BFFM_SETOKTEXT (WM_USER+105)
1249#define BFFM_SETEXPANDED (WM_USER+106)
1253#define SHBrowseForFolder WINELIB_NAME_AW(SHBrowseForFolder)
1255#define BFFM_SETSTATUSTEXT WINELIB_NAME_AW(BFFM_SETSTATUSTEXT)
1256#define BFFM_SETSELECTION WINELIB_NAME_AW(BFFM_SETSELECTION)
1257#define BFFM_VALIDATEFAILED WINELIB_NAME_AW(BFFM_VALIDATEFAILED)
1294#define SFVM_MERGEMENU 1
1295#define SFVM_INVOKECOMMAND 2
1296#define SFVM_GETHELPTEXT 3
1297#define SFVM_GETTOOLTIPTEXT 4
1298#define SFVM_GETBUTTONINFO 5
1299#define SFVM_GETBUTTONS 6
1300#define SFVM_INITMENUPOPUP 7
1301#define SFVM_SELECTIONCHANGED 8
1302#define SFVM_DRAWMENUITEM 9
1303#define SFVM_MEASUREMENUITEM 10
1304#define SFVM_EXITMENULOOP 11
1305#define SFVM_VIEWRELEASE 12
1306#define SFVM_GETNAMELENGTH 13
1307#define SFVM_FSNOTIFY 14
1308#define SFVM_WINDOWCREATED 15
1309#define SFVM_WINDOWCLOSING 16
1310#define SFVM_LISTREFRESHED 17
1311#define SFVM_WINDOWFOCUSED 18
1312#define SFVM_REGISTERCOPYHOOK 20
1313#define SFVM_COPYHOOKCALLBACK 21
1314#define SFVM_GETDETAILSOF 23
1315#define SFVM_COLUMNCLICK 24
1316#define SFVM_QUERYFSNOTIFY 25
1317#define SFVM_DEFITEMCOUNT 26
1318#define SFVM_DEFVIEWMODE 27
1319#define SFVM_UNMERGEFROMMENU 28
1320#define SFVM_ADDINGOBJECT 29
1321#define SFVM_REMOVINGOBJECT 30
1322#define SFVM_UPDATESTATUSBAR 31
1323#define SFVM_BACKGROUNDENUM 32
1324#define SFVM_GETCOMMANDDIR 33
1325#define SFVM_GETCOLUMNSTREAM 34
1326#define SFVM_CANSELECTALL 35
1327#define SFVM_DIDDRAGDROP 36
1328#define SFVM_ISSTRICTREFRESH 37
1329#define SFVM_ISCHILDOBJECT 38
1330#define SFVM_SETISFV 39
1331#define SFVM_GETEXTVIEWS 40
1332#define SFVM_THISIDLIST 41
1333#define SFVM_UPDATINGOBJECT 43
1334#define SFVM_HWNDMAIN 46
1335#define SFVM_ADDPROPERTYPAGES 47
1336#define SFVM_BACKGROUNDENUMDONE 48
1337#define SFVM_GETNOTIFY 49
1338#define SFVM_GETSORTDEFAULTS 53
1340#define SFVM_GETZONE 58
1341#define SFVM_GETPANE 59
1342#define SFVM_GETHELPTOPIC 63
1343#define SFVM_GETANIMATION 68
1344#define SFVM_GET_CUSTOMVIEWINFO 77
1345#define SFVM_ENUMERATEDITEMS 79
1346#define SFVM_GET_VIEW_DATA 80
1347#define SFVM_GET_WEBVIEW_LAYOUT 82
1348#define SFVM_GET_WEBVIEW_CONTENT 83
1349#define SFVM_GET_WEBVIEW_TASKS 84
1350#define SFVM_GET_WEBVIEW_THEME 86
1351#define SFVM_GETDEFERREDVIEWSETTINGS 92
1374#define QCMINFO_PLACE_BEFORE 0
1375#define QCMINFO_PLACE_AFTER 1
1397#define TBIF_DEFAULT 0x00000000
1398#define TBIF_APPEND 0x00000000
1399#define TBIF_PREPEND 0x00000001
1400#define TBIF_REPLACE 0x00000002
1401#define TBIF_INTERNETBAR 0x00010000
1402#define TBIF_STANDARDTOOLBAR 0x00020000
1403#define TBIF_NOTOOLBAR 0x00030000
1425#define SFVM_REARRANGE 0x0001
1426#define SFVM_GETARRANGECOLUMN 0x0002
1427#define SFVM_ADDOBJECT 0x0003
1428#define SFVM_GETITEMCOUNT 0x0004
1429#define SFVM_GETITEMPIDL 0x0005
1430#define SFVM_REMOVEOBJECT 0x0006
1431#define SFVM_UPDATEOBJECT 0x0007
1432#define SFVM_SETREDRAW 0x0008
1433#define SFVM_GETSELECTEDOBJECTS 0x0009
1434#define SFVM_ISDROPONSOURCE 0x000A
1435#define SFVM_MOVEICONS 0x000B
1436#define SFVM_GETDRAGPOINT 0x000C
1437#define SFVM_GETDROPPOINT 0x000D
1438#define SFVM_SETITEMPOS 0x000E
1439#define SFVM_ISDROPONBACKGROUND 0x000F
1440#define SFVM_SETCLIPBOARD 0x0010
1441#define SFVM_TOGGLEAUTOARRANGE 0x0011
1442#define SFVM_LINEUPICONS 0x0012
1443#define SFVM_GETAUTOARRANGE 0x0013
1444#define SFVM_GETSELECTEDCOUNT 0x0014
1445#define SFVM_GETITEMSPACING 0x0015
1446#define SFVM_REFRESHOBJECT 0x0016
1447#define SFVM_SETPOINTS 0x0017
1452#define SHGDFIL_FINDDATA 1
1453#define SHGDFIL_NETRESOURCE 2
1454#define SHGDFIL_DESCRIPTIONID 3
1456#define SHDID_ROOT_REGITEM 1
1457#define SHDID_FS_FILE 2
1458#define SHDID_FS_DIRECTORY 3
1459#define SHDID_FS_OTHER 4
1460#define SHDID_COMPUTER_DRIVE35 5
1461#define SHDID_COMPUTER_DRIVE525 6
1462#define SHDID_COMPUTER_REMOVABLE 7
1463#define SHDID_COMPUTER_FIXED 8
1464#define SHDID_COMPUTER_NETDRIVE 9
1465#define SHDID_COMPUTER_CDROM 10
1466#define SHDID_COMPUTER_RAMDISK 11
1467#define SHDID_COMPUTER_OTHER 12
1468#define SHDID_NET_DOMAIN 13
1469#define SHDID_NET_SERVER 14
1470#define SHDID_NET_SHARE 15
1471#define SHDID_NET_RESTOFNET 16
1472#define SHDID_NET_OTHER 17
1473#define SHDID_COMPUTER_IMAGING 18
1474#define SHDID_COMPUTER_AUDIO 19
1475#define SHDID_COMPUTER_SHAREDDOCS 20
1489 _In_ LPSHELLFOLDER psf,
1498 _In_ LPSHELLFOLDER psf,
1504#define SHGetDataFromIDList WINELIB_NAME_AW(SHGetDataFromIDList)
1531#define SHGetSpecialFolderPath WINELIB_NAME_AW(SHGetSpecialFolderPath)
1605#define SSF_SHOWALLOBJECTS 0x00000001
1606#define SSF_SHOWEXTENSIONS 0x00000002
1607#define SSF_SHOWCOMPCOLOR 0x00000008
1608#define SSF_SORTCOLUMNS 0x00000010
1609#define SSF_SHOWSYSFILES 0x00000020
1610#define SSF_DOUBLECLICKINWEBVIEW 0x00000080
1611#define SSF_SHOWATTRIBCOL 0x00000100
1612#define SSF_DESKTOPHTML 0x00000200
1613#define SSF_WIN95CLASSIC 0x00000400
1614#define SSF_DONTPRETTYPATH 0x00000800
1615#define SSF_MAPNETDRVBUTTON 0x00001000
1616#define SSF_SHOWINFOTIP 0x00002000
1617#define SSF_HIDEICONS 0x00004000
1618#define SSF_NOCONFIRMRECYCLE 0x00008000
1619#define SSF_FILTER 0x00010000
1620#define SSF_WEBVIEW 0x00020000
1621#define SSF_SHOWSUPERHIDDEN 0x00040000
1622#define SSF_SEPPROCESS 0x00080000
1623#if (NTDDI_VERSION >= NTDDI_WINXP)
1624#define SSF_NONETCRAWLING 0x00100000
1625#define SSF_STARTPANELON 0x00200000
1626#define SSF_SHOWSTARTPAGE 0x00400000
1628#if (NTDDI_VERSION >= NTDDI_VISTA)
1629#define SSF_AUTOCHECKSELECT 0x00800000
1630#define SSF_ICONSONLY 0x01000000
1631#define SSF_SHOWTYPEOVERLAY 0x02000000
1633#if (NTDDI_VERSION >= NTDDI_WIN8)
1634#define SSF_SHOWSTATUSBAR 0x04000000
1695#if (NTDDI_VERSION < NTDDI_VISTA)
1696 REST_NOLOGO3CHANNELNOTIFY = 0x4000001C,
1723#if (NTDDI_VERSION < NTDDI_VISTA)
1724 REST_ALLOWFRENCHENCRYPTION = 0x40000036,
1732#if (NTDDI_VERSION < NTDDI_VISTA)
1733 REST_NORECENTDOCSNETHOOD = 0x4000003D,
1748#if (NTDDI_VERSION < NTDDI_VISTA)
1749 REST_NOCOMPUTERSNEARME = 0x4000004B,
1752#if (NTDDI_VERSION >= NTDDI_WINXP) || defined(IE_BACKCOMPAT_VERSION)
1757#if (NTDDI_VERSION >= NTDDI_WINXP)
1767#if (NTDDI_VERSION >= NTDDI_WIN2KSP3)
1771#if (NTDDI_VERSION >= NTDDI_WINXP)
1780#if (NTDDI_VERSION >= NTDDI_WIN2KSP3)
1783#if (NTDDI_VERSION >= NTDDI_WINXP)
1798#if (NTDDI_VERSION >= NTDDI_WIN2KSP3)
1801#if (NTDDI_VERSION >= NTDDI_WINXP)
1806#if (NTDDI_VERSION >= NTDDI_WINXP)
1819#if (NTDDI_VERSION >= NTDDI_WINXPSP1) || defined(IE_BACKCOMPAT_VERSION)
1825#if (NTDDI_VERSION >= NTDDI_WIN2KSP3)
1829#if (NTDDI_VERSION >= NTDDI_WIN2KSP3)
1834#if (NTDDI_VERSION < NTDDI_VISTA)
1835 REST_SORTMAXITEMCOUNT = 0x40000087,
1840#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
1842#if (NTDDI_VERSION < NTDDI_VISTA)
1843 REST_NOSIMPLENETIDLIST = 0x40000092,
1846#if (NTDDI_VERSION < NTDDI_VISTA)
1847 REST_NODETAILSTHUMBNAILONNETWORK = 0x40000094,
1851#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
1852#if (NTDDI_VERSION < NTDDI_VISTA)
1853 REST_ALLOWLEGACYLMZBEHAVIOR = 0x4000009A,
1870#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
1872#if (NTDDI_VERSION < NTDDI_VISTA)
1873 REST_USEDESKTOPINICACHE = 0x41000005,
1890#define SHCNE_RENAMEITEM 0x00000001
1891#define SHCNE_CREATE 0x00000002
1892#define SHCNE_DELETE 0x00000004
1893#define SHCNE_MKDIR 0x00000008
1894#define SHCNE_RMDIR 0x00000010
1895#define SHCNE_MEDIAINSERTED 0x00000020
1896#define SHCNE_MEDIAREMOVED 0x00000040
1897#define SHCNE_DRIVEREMOVED 0x00000080
1898#define SHCNE_DRIVEADD 0x00000100
1899#define SHCNE_NETSHARE 0x00000200
1900#define SHCNE_NETUNSHARE 0x00000400
1901#define SHCNE_ATTRIBUTES 0x00000800
1902#define SHCNE_UPDATEDIR 0x00001000
1903#define SHCNE_UPDATEITEM 0x00002000
1904#define SHCNE_SERVERDISCONNECT 0x00004000
1905#define SHCNE_UPDATEIMAGE 0x00008000
1906#define SHCNE_DRIVEADDGUI 0x00010000
1907#define SHCNE_RENAMEFOLDER 0x00020000
1908#define SHCNE_FREESPACE 0x00040000
1910#define SHCNE_EXTENDED_EVENT 0x04000000
1911#define SHCNE_ASSOCCHANGED 0x08000000
1912#define SHCNE_DISKEVENTS 0x0002381F
1913#define SHCNE_GLOBALEVENTS 0x0C0581E0
1914#define SHCNE_ALLEVENTS 0x7FFFFFFF
1915#define SHCNE_INTERRUPT 0x80000000
1917#define SHCNEE_ORDERCHANGED 0x0002L
1918#define SHCNEE_MSI_CHANGE 0x0004L
1919#define SHCNEE_MSI_UNINSTALL 0x0005L
1921#define SHCNF_IDLIST 0x0000
1922#define SHCNF_PATHA 0x0001
1923#define SHCNF_PRINTERA 0x0002
1924#define SHCNF_DWORD 0x0003
1925#define SHCNF_PATHW 0x0005
1926#define SHCNF_PRINTERW 0x0006
1927#define SHCNF_TYPE 0x00FF
1928#define SHCNF_FLUSH 0x1000
1929#define SHCNF_FLUSHNOWAIT 0x3000
1930#define SHCNF_NOTIFYRECURSIVE 0x10000
1932#define SHCNF_PATH WINELIB_NAME_AW(SHCNF_PATH)
1933#define SHCNF_PRINTER WINELIB_NAME_AW(SHCNF_PRINTER)
1935#define SHCNRF_InterruptLevel 0x0001
1936#define SHCNRF_ShellLevel 0x0002
1937#define SHCNRF_RecursiveInterrupt 0x1000
1938#define SHCNRF_NewDelivery 0x8000
1955#if (NTDDI_VERSION < NTDDI_LONGHORN)
1964#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1969#if (NTDDI_VERSION >= NTDDI_WIN7)
1975#if (NTDDI_VERSION >= NTDDI_WIN8)
1997 WORD wFillAttribute;
1998 WORD wPopupFillAttribute;
1999 COORD dwScreenBufferSize;
2001 COORD dwWindowOrigin;
2003 DWORD nInputBufferSize;
2013 UINT uHistoryBufferSize;
2014 UINT uNumberOfHistoryBuffers;
2017} NT_CONSOLE_PROPS, *LPNT_CONSOLE_PROPS;
2051#define EXP_SZ_LINK_SIG 0xA0000001
2052#define NT_CONSOLE_PROPS_SIG 0xA0000002
2053#define NT_FE_CONSOLE_PROPS_SIG 0xA0000004
2054#define EXP_SPECIAL_FOLDER_SIG 0xA0000005
2055#define EXP_DARWIN_ID_SIG 0xA0000006
2056#if (NTDDI_VERSION < NTDDI_LONGHORN)
2057#define EXP_LOGO3_ID_SIG 0xA0000007
2059#define EXP_SZ_ICON_SIG 0xA0000007
2060#define EXP_PROPERTYSTORAGE_SIG 0xA0000009
2123#define SHCreateDirectoryEx WINELIB_NAME_AW(SHCreateDirectoryEx)
2171#define SHGetFolderPath WINELIB_NAME_AW(SHGetFolderPath)
2173#define CSIDL_DESKTOP 0x0000
2174#define CSIDL_INTERNET 0x0001
2175#define CSIDL_PROGRAMS 0x0002
2176#define CSIDL_CONTROLS 0x0003
2177#define CSIDL_PRINTERS 0x0004
2178#define CSIDL_PERSONAL 0x0005
2179#define CSIDL_FAVORITES 0x0006
2180#define CSIDL_STARTUP 0x0007
2181#define CSIDL_RECENT 0x0008
2182#define CSIDL_SENDTO 0x0009
2183#define CSIDL_BITBUCKET 0x000a
2184#define CSIDL_STARTMENU 0x000b
2185#define CSIDL_MYDOCUMENTS CSIDL_PERSONAL
2186#define CSIDL_MYMUSIC 0x000d
2187#define CSIDL_MYVIDEO 0x000e
2188#define CSIDL_DESKTOPDIRECTORY 0x0010
2189#define CSIDL_DRIVES 0x0011
2190#define CSIDL_NETWORK 0x0012
2191#define CSIDL_NETHOOD 0x0013
2192#define CSIDL_FONTS 0x0014
2193#define CSIDL_TEMPLATES 0x0015
2194#define CSIDL_COMMON_STARTMENU 0x0016
2195#define CSIDL_COMMON_PROGRAMS 0X0017
2196#define CSIDL_COMMON_STARTUP 0x0018
2197#define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019
2198#define CSIDL_APPDATA 0x001a
2199#define CSIDL_PRINTHOOD 0x001b
2200#define CSIDL_LOCAL_APPDATA 0x001c
2201#define CSIDL_ALTSTARTUP 0x001d
2202#define CSIDL_COMMON_ALTSTARTUP 0x001e
2203#define CSIDL_COMMON_FAVORITES 0x001f
2204#define CSIDL_INTERNET_CACHE 0x0020
2205#define CSIDL_COOKIES 0x0021
2206#define CSIDL_HISTORY 0x0022
2207#define CSIDL_COMMON_APPDATA 0x0023
2208#define CSIDL_WINDOWS 0x0024
2209#define CSIDL_SYSTEM 0x0025
2210#define CSIDL_PROGRAM_FILES 0x0026
2211#define CSIDL_MYPICTURES 0x0027
2212#define CSIDL_PROFILE 0x0028
2213#define CSIDL_SYSTEMX86 0x0029
2214#define CSIDL_PROGRAM_FILESX86 0x002a
2215#define CSIDL_PROGRAM_FILES_COMMON 0x002b
2216#define CSIDL_PROGRAM_FILES_COMMONX86 0x002c
2217#define CSIDL_COMMON_TEMPLATES 0x002d
2218#define CSIDL_COMMON_DOCUMENTS 0x002e
2219#define CSIDL_COMMON_ADMINTOOLS 0x002f
2220#define CSIDL_ADMINTOOLS 0x0030
2221#define CSIDL_CONNECTIONS 0x0031
2222#define CSIDL_COMMON_MUSIC 0x0035
2223#define CSIDL_COMMON_PICTURES 0x0036
2224#define CSIDL_COMMON_VIDEO 0x0037
2225#define CSIDL_RESOURCES 0x0038
2226#define CSIDL_RESOURCES_LOCALIZED 0x0039
2227#define CSIDL_COMMON_OEM_LINKS 0x003a
2228#define CSIDL_CDBURN_AREA 0x003b
2229#define CSIDL_COMPUTERSNEARME 0x003d
2230#define CSIDL_PROFILES 0x003e
2231#define CSIDL_FOLDER_MASK 0x00ff
2232#define CSIDL_FLAG_PER_USER_INIT 0x0800
2233#define CSIDL_FLAG_NO_ALIAS 0x1000
2234#define CSIDL_FLAG_DONT_VERIFY 0x4000
2235#define CSIDL_FLAG_CREATE 0x8000
2237#define CSIDL_FLAG_MASK 0xff00
2258#if (NTDDI_VERSION >= NTDDI_WINXP)
2272#define SHCreateFileExtractIcon SHCreateFileExtractIconW
2300#define SHDefExtractIcon WINELIB_NAME_AW(SHDefExtractIcon)
2317#define FD_CLSID 0x00000001
2318#define FD_SIZEPOINT 0x00000002
2319#define FD_ATTRIBUTES 0x00000004
2320#define FD_CREATETIME 0x00000008
2321#define FD_ACCESSTIME 0x00000010
2322#define FD_WRITESTIME 0x00000020
2323#define FD_FILESIZE 0x00000040
2324#define FD_PROGRESSUI 0x00004000
2325#define FD_LINKUI 0x00008000
2326#if (NTDDI_VERSION >= NTDDI_VISTA)
2327#define FD_UNICODE 0x80000000
2401#define CABINETSTATE_VERSION 2
2416#define PPCF_ADDQUOTES 0x01
2417#define PPCF_INCLUDEARGS 0x02
2418#define PPCF_ADDARGUMENTS 0x03
2419#define PPCF_NODIRECTORIES 0x10
2420#define PPCF_DONTRESOLVE 0x20
2421#define PPCF_FORCEQUALIFY 0x40
2422#define PPCF_LONGESTPOSSIBLE 0x80
2425#define PRF_VERIFYEXISTS 0x01
2426#define PRF_EXECUTABLE 0x02
2427#define PRF_TRYPROGRAMEXTENSIONS (PRF_EXECUTABLE | PRF_VERIFYEXISTS)
2428#define PRF_FIRSTDIRDEF 0x04
2429#define PRF_DONTFINDLNK 0x08
2430#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
2431#define PRF_REQUIREABSOLUTE 0x10
2489#define PID_IS_NAME 4
2490#define PID_IS_WORKINGDIR 5
2491#define PID_IS_HOTKEY 6
2492#define PID_IS_SHOWCMD 7
2493#define PID_IS_ICONINDEX 8
2494#define PID_IS_ICONFILE 9
2495#define PID_IS_WHATSNEW 10
2496#define PID_IS_AUTHOR 11
2497#define PID_IS_DESCRIPTION 12
2498#define PID_IS_COMMENT 13
2506#define ILCreateFromPath WINELIB_NAME_AW(ILCreateFromPath)
2521 return !(pidl && pidl->mkid.cb);
2528#define MM_ADDSEPARATOR 0x00000001L
2529#define MM_SUBMENUSHAVEIDS 0x00000002L
2530#define MM_DONTREMOVESEPS 0x00000004L
2589#define DFM_MERGECONTEXTMENU 1
2590#define DFM_INVOKECOMMAND 2
2591#define DFM_INVOKECOMMANDEX 12
2592#define DFM_GETDEFSTATICID 14
2594#define DFM_GETHELPTEXT 5
2595#define DFM_WM_MEASUREITEM 6
2596#define DFM_WM_DRAWITEM 7
2597#define DFM_WM_INITMENUPOPUP 8
2598#define DFM_VALIDATECMD 9
2599#define DFM_MERGECONTEXTMENU_TOP 10
2600#define DFM_GETHELPTEXTW 11
2601#define DFM_MAPCOMMANDNAME 13
2602#define DFM_GETVERBW 15
2603#define DFM_GETVERBA 16
2604#define DFM_MERGECONTEXTMENU_BOTTOM 17
2605#define DFM_MODIFYQCMFLAGS 18
2608#define DFM_CMD_DELETE ((UINT)-1)
2609#define DFM_CMD_MOVE ((UINT)-2)
2610#define DFM_CMD_COPY ((UINT)-3)
2611#define DFM_CMD_LINK ((UINT)-4)
2612#define DFM_CMD_PROPERTIES ((UINT)-5)
2613#define DFM_CMD_NEWFOLDER ((UINT)-6)
2614#define DFM_CMD_PASTE ((UINT)-7)
2615#define DFM_CMD_VIEWLIST ((UINT)-8)
2616#define DFM_CMD_VIEWDETAILS ((UINT)-9)
2617#define DFM_CMD_PASTELINK ((UINT)-10)
2618#define DFM_CMD_PASTESPECIAL ((UINT)-11)
2619#define DFM_CMD_MODALPROP ((UINT)-12)
2620#define DFM_CMD_RENAME ((UINT)-13)
2670 DWORD dwAttributeMask,
2684#if (NTDDI_VERSION >= NTDDI_VISTA)
2704#define INTERFACE IShellIconOverlayIdentifier
2717#if !defined(__cplusplus) || defined(CINTERFACE)
2719#define IShellIconOverlayIdentifier_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2720#define IShellIconOverlayIdentifier_AddRef(p) (p)->lpVtbl->AddRef(p)
2721#define IShellIconOverlayIdentifier_Release(p) (p)->lpVtbl->Release(p)
2723#define IShellIconOverlayIdentifier_IsMemberOf(p,a,b) (p)->lpVtbl->IsMemberOf(p,a,b)
2724#define IShellIconOverlayIdentifier_GetOverlayInfo(p,a,b,c,d) (p)->lpVtbl->GetOverlayInfo(p,a,b,c,d)
2725#define IShellIconOverlayIdentifier_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a)
2728#define ISIOI_ICONFILE 0x00000001
2729#define ISIOI_ICONINDEX 0x00000002
2740#define TLMENUF_INCLUDECURRENT 0x00000001
2741#define TLMENUF_CHECKCURRENT (TLMENUF_INCLUDECURRENT | 0x00000002)
2742#define TLMENUF_BACK 0x00000010
2743#define TLMENUF_FORE 0x00000020
2744#define TLMENUF_BACKANDFORTH (TLMENUF_BACK | TLMENUF_FORE | TLMENUF_INCLUDECURRENT)
2749#define INTERFACE IDockingWindowSite
2768#if !defined(__cplusplus) || defined(CINTERFACE)
2770#define IDockingWindowSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2771#define IDockingWindowSite_AddRef(p) (p)->lpVtbl->AddRef(p)
2772#define IDockingWindowSite_Release(p) (p)->lpVtbl->Release(p)
2774#define IDockingWindowSite_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
2775#define IDockingWindowSite_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
2777#define IDockingWindowSite_GetBorderDW(p,a,b) (p)->lpVtbl->GetBorderDW(p,a,b)
2778#define IDockingWindowSite_RequestBorderSpaceDW(p,a,b) (p)->lpVtbl->RequestBorderSpaceDW(p,a,b)
2779#define IDockingWindowSite_SetBorderSpaceDW(p,a,b) (p)->lpVtbl->SetBorderSpaceDW(p,a,b)
2784#define ISFB_MASK_STATE 0x00000001
2785#define ISFB_MASK_IDLIST 0x00000010
2787#define ISFB_STATE_QLINKSMODE 0x00000020
2788#define ISFB_STATE_NOSHOWTEXT 0x00000004
2808#define INTERFACE IShellFolderBand
2824#if (NTDDI_VERSION >= NTDDI_WIN2K) && (NTDDI_VERSION <= NTDDI_WINXPSP2)
static VOID SetWallpaper(PBACKGROUND_DATA pData)
void GetDirectory(LPTSTR wholepath, LPTSTR directory, BOOL CheckExisting)
#define DECLARE_INTERFACE_(i, b)
HRESULT WINAPI GetInfoTip(IUnknown *param8, long paramC, LPTSTR *param10, long cchMax)
DWORD WINAPI GetSize(LPVOID)
static const WCHAR wszFriendlyName[]
static const WCHAR dwWidth[]
static const WCHAR dwHeight[]
HRESULT GetDetailsOf(IShellFolder2 &Folder, PCUITEMID_CHILD pidl, UINT Column, PWSTR &String)
BOOL WINAPI SHGetSpecialFolderPathA(HWND hwndOwner, LPSTR szPath, int nFolder, BOOL bCreate)
BOOL WINAPI PathYetAnotherMakeUniqueName(LPWSTR buffer, LPCWSTR path, LPCWSTR shortname, LPCWSTR longname)
BOOL WINAPI SHGetSpecialFolderPathW(HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate)
#define INTERNET_MAX_URL_LENGTH
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
#define DECLARE_HANDLE(name)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static HMODULE MODULEINFO DWORD cb
static HRESULT QueryInterface(REFIID, void **)
static ULONG WINAPI AddRef(IStream *iface)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
static int int const SCRIPT_CONTROL const SCRIPT_STATE SCRIPT_ITEM ULONG int * pcItems
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
_Out_ PULONG _Out_ PULONG pIndex
#define _Inout_updates_(s)
#define _Outptr_result_maybenull_
#define _Outptr_result_buffer_(s)
#define _Outptr_opt_result_buffer_(s)
#define _In_reads_opt_(s)
#define _Out_writes_bytes_(s)
interface IMalloc * LPMALLOC
interface IStream * LPSTREAM
BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST pidl, LPSTR pszPath)
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
BOOL(CALLBACK * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM)
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
struct _SHChangeDWORDAsIDList SHChangeDWORDAsIDList
struct _FILEGROUPDESCRIPTORW FILEGROUPDESCRIPTORW
int WINAPI PathCleanupSpec(_In_opt_ LPCWSTR, _Inout_ LPWSTR)
struct _FILEGROUPDESCRIPTORA * LPFILEGROUPDESCRIPTORA
LPVOID WINAPI SHAlloc(SIZE_T) __WINE_ALLOC_SIZE(1)
struct tagBROWSEINFOA * LPBROWSEINFOA
struct _SHDESCRIPTIONID * LPSHDESCRIPTIONID
struct tagDATABLOCKHEADER * LPDATABLOCK_HEADER
int WINAPI SHCreateDirectory(_In_opt_ HWND, _In_ LPCWSTR)
struct _FILEDESCRIPTORW * LPFILEDESCRIPTORW
HRESULT WINAPI SHILCreateFromPath(_In_ PCWSTR, _Outptr_ PIDLIST_ABSOLUTE *, _Inout_opt_ DWORD *)
HRESULT WINAPI SHCreateDefaultContextMenu(_In_ const DEFCONTEXTMENU *, _In_ REFIID, _Outptr_ void **ppv)
_In_ int _In_ BOOL bCreate
BOOL WINAPI SHObjectProperties(_In_opt_ HWND, _In_ DWORD, _In_ LPCWSTR, _In_opt_ LPCWSTR)
struct tagBROWSEINFOA * PBROWSEINFOA
struct tagBROWSEINFOA BROWSEINFOA
UINT WINAPI SHAddFromPropSheetExtArray(_In_ HPSXA, _In_ LPFNADDPROPSHEETPAGE, LPARAM)
PIDLIST_ABSOLUTE WINAPI ILCombine(_In_opt_ PCIDLIST_ABSOLUTE, _In_opt_ PCUIDLIST_RELATIVE)
PUIDLIST_RELATIVE WINAPI ILGetNext(_In_opt_ PCUIDLIST_RELATIVE)
_Check_return_ HRESULT WINAPI SHGetMalloc(_Outptr_ LPMALLOC *lpmal)
static const WCHAR CFSTR_PREFERREDDROPEFFECTW[]
struct _FILEGROUPDESCRIPTORA FILEGROUPDESCRIPTORA
HRESULT WINAPI SHPathPrepareForWriteW(_In_opt_ HWND, _In_opt_ IUnknown *, _In_ LPCWSTR, DWORD)
struct _FILEDESCRIPTORA * LPFILEDESCRIPTORA
int WINAPI SHMapPIDLToSystemImageListIndex(_In_ IShellFolder *, _In_ PCUITEMID_CHILD, _Out_opt_ int *)
HRESULT WINAPI SHOpenFolderAndSelectItems(_In_ PCIDLIST_ABSOLUTE pidlFolder, _In_ UINT cidl, _In_reads_opt_(cidl) PCUITEMID_CHILD_ARRAY, _In_ DWORD)
static const WCHAR CFSTR_FILECONTENTSW[]
PIDLIST_ABSOLUTE WINAPI SHBrowseForFolderW(_In_ LPBROWSEINFOW lpbi)
struct _SHChangeDWORDAsIDList * LPSHChangeDWORDAsIDList
struct tagBROWSEINFOW * PBROWSEINFOW
DWORD WINAPI SHCLSIDFromStringW(_In_ LPCWSTR, _Out_ CLSID *)
struct SHFOLDERCUSTOMSETTINGSA * LPSHFOLDERCUSTOMSETTINGSA
struct _FILEDESCRIPTORW FILEDESCRIPTORW
void(CALLBACK * PFNASYNCICONTASKBALLBACK)(LPCITEMIDLIST pidl, LPVOID pvData, LPVOID pvHint, INT iIconIndex, INT iOpenIconIndex)
DWORD WINAPI SHCLSIDFromStringA(_In_ LPCSTR, _Out_ CLSID *)
struct BANDINFOSFB * PBANDINFOSFB
struct _SHDESCRIPTIONID SHDESCRIPTIONID
BOOL WINAPI SHFindFiles(_In_opt_ PCIDLIST_ABSOLUTE, _In_opt_ PCIDLIST_ABSOLUTE)
UINT WINAPI SHReplaceFromPropSheetExtArray(_In_ HPSXA, UINT, _In_ LPFNADDPROPSHEETPAGE, LPARAM)
struct _DROPFILES DROPFILES
HRESULT WINAPI SHStartNetConnectionDialogA(_In_ HWND hwnd, _In_ LPCSTR pszRemoteName, _In_ DWORD dwType)
BOOL WINAPI SHOpenPropSheetA(_In_opt_ LPCSTR pszCaption, _In_opt_ HKEY *ahKeys, _In_ UINT cKeys, _In_ const CLSID *pclsidDefault, _In_ IDataObject *pDataObject, _In_opt_ IShellBrowser *pShellBrowser, _In_opt_ LPCSTR pszStartPage)
struct _QCMINFO * LPQCMINFO
struct tagDATABLOCKHEADER DATABLOCK_HEADER
struct tagOPENASINFO OPENASINFO
HRESULT WINAPI SHCreateDefaultExtractIcon(REFIID riid, void **ppv)
BOOL WINAPI DAD_DragEnterEx2(_In_ HWND, POINT, _In_opt_ IDataObject *)
BOOL WINAPI PathIsSlowW(_In_ LPCWSTR pszFile, _In_ DWORD dwAttr)
HRESULT WINAPI SHBindToParent(_In_ PCIDLIST_ABSOLUTE pidl, _In_ REFIID riid, _Outptr_ LPVOID *ppv, _Outptr_opt_ PCUITEMID_CHILD *ppidlLast)
struct EXP_DARWIN_LINK * LPEXP_DARWIN_LINK
struct CABINETSTATE * LPCABINETSTATE
BOOL WINAPI GetFileNameFromBrowse(_In_opt_ HWND, _Inout_updates_(cchFilePath) LPWSTR, UINT cchFilePath, _In_opt_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR)
struct SHELLFLAGSTATE * LPSHELLFLAGSTATE
int WINAPI RestartDialogEx(_In_opt_ HWND, _In_opt_ LPCWSTR, DWORD, DWORD)
HRESULT WINAPI SHGetDataFromIDListA(_In_ LPSHELLFOLDER psf, _In_ PCUITEMID_CHILD pidl, int nFormat, _Out_writes_bytes_(cb) LPVOID pv, int cb)
INT WINAPI SHHandleUpdateImage(_In_ PCIDLIST_ABSOLUTE)
static const WCHAR CFSTR_PASTESUCCEEDEDW[]
HRESULT WINAPI SHCreateStdEnumFmtEtc(_In_ UINT cfmt, _In_reads_(cfmt) const FORMATETC *, _Outptr_ IEnumFORMATETC **)
struct _TBINFO * LPTBINFO
HRESULT WINAPI SHGetFolderPathAndSubDirA(_Reserved_ HWND, _In_ int, _In_opt_ HANDLE, _In_ DWORD, _In_opt_ LPCSTR, _Out_writes_(MAX_PATH) LPSTR)
HRESULT(CALLBACK * LPFNVIEWCALLBACK)(_In_ IShellView *dwUser, _In_ IShellFolder *pshf, _In_ HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
struct _SHChangeProductKeyAsIDList SHChangeProductKeyAsIDList
struct tagBROWSEINFOW * LPBROWSEINFOW
HRESULT WINAPI SHGetAttributesFromDataObject(_In_opt_ IDataObject *pdo, DWORD dwAttributeMask, _Out_opt_ DWORD *pdwAttributes, _Out_opt_ UINT *pcItems)
PIDLIST_RELATIVE WINAPI ILAppendID(_In_opt_ PIDLIST_RELATIVE, _In_ LPCSHITEMID, BOOL)
struct _ITEMSPACING ITEMSPACING
HRESULT WINAPI SHParseDisplayName(_In_ PCWSTR pszName, _In_opt_ IBindCtx *pbc, _Outptr_ PIDLIST_ABSOLUTE *ppidl, _In_ SFGAOF sfgaoIn, _Out_opt_ SFGAOF *psfgaoOut)
HRESULT WINAPI ILLoadFromStream(_In_ LPSTREAM, _Inout_ PIDLIST_RELATIVE *)
UINT WINAPI Shell_MergeMenus(_In_ HMENU hmDst, _In_ HMENU hmSrc, UINT uInsert, UINT uIDAdjust, UINT uIDAdjustMax, ULONG uFlags)
int WINAPI RealDriveType(int, BOOL)
PITEMID_CHILD WINAPI ILCloneFirst(_In_ PCUIDLIST_RELATIVE)
INT WINAPI PickIconDlg(_In_opt_ HWND, _Inout_updates_(cchIconPath) LPWSTR, UINT cchIconPath, _Inout_opt_ int *)
static const WCHAR CFSTR_NETRESOURCESW[]
HRESULT WINAPI CIDLData_CreateFromIDArray(_In_ PCIDLIST_ABSOLUTE pidlFolder, _In_ UINT cidl, _In_reads_opt_(cidl) PCUIDLIST_RELATIVE_ARRAY apidl, _Outptr_ IDataObject **ppdtobj)
HRESULT WINAPI SHStartNetConnectionDialog(HWND, LPCSTR, DWORD)
BOOL WINAPI WriteCabinetState(_In_ CABINETSTATE *)
LRESULT WINAPI SHShellFolderView_Message(_In_ HWND hwndCabinet, UINT uMessage, LPARAM lParam)
BOOL WINAPI ReadCabinetState(_Out_writes_bytes_(cLength) CABINETSTATE *, int cLength)
HRESULT WINAPI SHDoDragDrop(_In_opt_ HWND, _In_ IDataObject *, _In_opt_ IDropSource *, _In_ DWORD, _Out_ LPDWORD)
HRESULT WINAPI SHOpenWithDialog(_In_opt_ HWND hwndParent, _In_ const OPENASINFO *poainfo)
_Check_return_ HRESULT WINAPI SHGetSpecialFolderLocation(_Reserved_ HWND hwndOwner, _In_ int nFolder, _Outptr_ PIDLIST_ABSOLUTE *ppidl)
HINSTANCE WINAPI SHGetShellStyleHInstance(VOID)
void WINAPI SHFree(_In_opt_ LPVOID)
HRESULT WINAPI SHStartNetConnectionDialogW(_In_ HWND hwnd, _In_ LPCWSTR pszRemoteName, _In_ DWORD dwType)
BOOL WINAPI DAD_DragEnterEx(HWND, POINT)
BOOL WINAPI SHOpenPropSheetW(_In_opt_ LPCWSTR pszCaption, _In_opt_ HKEY *ahKeys, _In_ UINT cKeys, _In_ const CLSID *pclsidDefault, _In_ IDataObject *pDataObject, _In_opt_ IShellBrowser *pShellBrowser, _In_opt_ LPCWSTR pszStartPage)
@ SLDF_PREFER_ENVIRONMENT_PATH
@ SLDF_DISABLE_KNOWNFOLDER_RELATIVE_TRACKING
@ SLDF_ALLOW_LINK_TO_LINK
@ SLDF_DISABLE_LINK_PATH_TRACKING
@ SLDF_PERSIST_VOLUME_ID_RELATIVE
@ SLDF_FORCE_NO_LINKTRACK
@ SLDF_ENABLE_TARGET_METADATA
@ SLDF_RUN_WITH_SHIMLAYER
@ SLDF_KEEP_LOCAL_IDLIST_FOR_UNC_TARGET
struct SHFOLDERCUSTOMSETTINGSW * LPSHFOLDERCUSTOMSETTINGSW
static const WCHAR CFSTR_SHELLURLW[]
@ OAIF_ALLOW_REGISTRATION
@ OAIF_FORCE_REGISTRATION
@ KF_FLAG_NO_APPCONTAINER_REDIRECTION
@ KF_FLAG_NOT_PARENT_RELATIVE
HRESULT WINAPI SHLoadOLE(LPARAM)
HPSXA WINAPI SHCreatePropSheetExtArray(_In_ HKEY, _In_opt_ LPCWSTR, UINT)
BOOL WINAPI DAD_SetDragImage(HIMAGELIST, LPPOINT)
HRESULT WINAPI SHGetRealIDL(_In_ IShellFolder *psf, _In_ PCUITEMID_CHILD pidlSimple, _Outptr_ PITEMID_CHILD *ppidlReal)
int WINAPI SHCreateDirectoryExA(_In_opt_ HWND, _In_ LPCSTR, _In_opt_ LPSECURITY_ATTRIBUTES)
static const WCHAR CFSTR_FILENAMEW[]
LONG WINAPI PathProcessCommand(_In_ LPCWSTR, _Out_writes_(cchDest) LPWSTR, int cchDest, DWORD)
HRESULT WINAPI SHCreateShellItem(_In_opt_ PCIDLIST_ABSOLUTE, _In_opt_ IShellFolder *, _In_ PCUITEMID_CHILD, _Outptr_ IShellItem **)
static const WCHAR CFSTR_SHELLIDLISTOFFSETW[]
HRESULT WINAPI SHDefExtractIconW(_In_ LPCWSTR pszIconFile, int iIndex, UINT uFlags, _Out_opt_ HICON *phiconLarge, _Out_opt_ HICON *phiconSmall, UINT nIconSize)
BOOL WINAPI ILRemoveLastID(_Inout_opt_ PUIDLIST_RELATIVE)
BOOL WINAPI PathIsSlowA(_In_ LPCSTR pszFile, _In_ DWORD dwAttr)
_Check_return_ HRESULT WINAPI SHGetDesktopFolder(_Outptr_ IShellFolder **)
static const WCHAR CFSTR_INDRAGLOOPW[]
PUITEMID_CHILD WINAPI ILFindLastID(_In_ PCUIDLIST_RELATIVE)
static const WCHAR CFSTR_PRINTERGROUPW[]
BOOL WINAPI IsUserAnAdmin(void)
HRESULT WINAPI SHGetFolderPathAndSubDirW(_Reserved_ HWND, _In_ int, _In_opt_ HANDLE, _In_ DWORD, _In_opt_ LPCWSTR, _Out_writes_(MAX_PATH) LPWSTR)
PIDLIST_ABSOLUTE WINAPI SHBrowseForFolderA(_In_ LPBROWSEINFOA lpbi)
void WINAPI SHAddToRecentDocs(UINT, _In_opt_ LPCVOID)
HRESULT WINAPI SHGetFolderPathA(_Reserved_ HWND hwnd, _In_ int nFolder, _In_opt_ HANDLE hToken, _In_ DWORD dwFlags, _Out_writes_(MAX_PATH) LPSTR pszPath)
HRESULT WINAPI SHCreateShellFolderView(_In_ const SFV_CREATE *pscfv, _Outptr_ IShellView **ppsv)
BOOL WINAPI SHChangeNotification_Unlock(_In_ HANDLE hLock)
struct _QCMINFO_IDMAP QCMINFO_IDMAP
BOOL WINAPI DAD_AutoScroll(HWND, AUTO_SCROLL_DATA *, const POINT *)
BOOL WINAPI ILIsParent(_In_ PCIDLIST_ABSOLUTE, _In_ PCIDLIST_ABSOLUTE, BOOL)
HRESULT WINAPI SHSetFolderPathW(_In_ INT csidl, _In_ HANDLE hToken, _In_ DWORD dwFlags, _In_ LPCWSTR pszPath)
HRESULT WINAPI SHGetFolderPathW(_Reserved_ HWND hwnd, _In_ int nFolder, _In_opt_ HANDLE hToken, _In_ DWORD dwFlags, _Out_writes_(MAX_PATH) LPWSTR pszPath)
VOID WINAPI SHUpdateImageW(_In_ LPCWSTR, INT, UINT, INT)
void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
VOID WINAPI SHGetSetSettings(LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet)
void WINAPI SHDestroyPropSheetExtArray(_In_ HPSXA)
int WINAPI IsNetDrive(int)
BOOL WINAPI DAD_DragMove(POINT)
HRESULT WINAPI SHCreateQueryCancelAutoPlayMoniker(IMoniker **)
HRESULT WINAPI CDefFolderMenu_Create2(_In_opt_ PCIDLIST_ABSOLUTE, _In_opt_ HWND, UINT cidl, _In_reads_opt_(cidl) PCUITEMID_CHILD_ARRAY, _In_opt_ IShellFolder *, _In_opt_ LPFNDFMCALLBACK, UINT nKeys, _In_reads_opt_(nKeys) const HKEY *, _Outptr_ IContextMenu **)
BOOL WINAPI ILIsEqual(_In_ PCIDLIST_ABSOLUTE, _In_ PCIDLIST_ABSOLUTE)
struct _FILEGROUPDESCRIPTORW * LPFILEGROUPDESCRIPTORW
struct _SFVM_PROPPAGE_DATA SFVM_PROPPAGE_DATA
static BOOL ILIsEmpty(_In_opt_ PCUIDLIST_RELATIVE pidl)
PIDLIST_ABSOLUTE WINAPI ILCreateFromPathA(_In_ PCSTR)
static const WCHAR CFSTR_MOUNTEDVOLUMEW[]
struct SHELLSTATE * LPSHELLSTATE
BOOL WINAPI SHRunControlPanel(_In_ LPCWSTR commandLine, _In_opt_ HWND parent)
VOID WINAPI PathGetShortPath(_Inout_updates_(MAX_PATH) LPWSTR pszPath)
int WINAPI RestartDialog(_In_opt_ HWND, _In_opt_ LPCWSTR, DWORD)
HRESULT WINAPI SHCoCreateInstance(_In_opt_ LPCWSTR, _In_opt_ const CLSID *, _In_opt_ IUnknown *, _In_ REFIID, _Outptr_ LPVOID *)
PIDLIST_ABSOLUTE WINAPI SHSimpleIDListFromPath(PCWSTR)
PIDLIST_ABSOLUTE WINAPI ILCreateFromPathW(_In_ PCWSTR)
VOID WINAPI SHSetInstanceExplorer(_In_opt_ IUnknown *)
static const WCHAR CFSTR_FILEDESCRIPTORW[]
static const WCHAR CFSTR_PERSISTEDDATAOBJECTW[]
HRESULT WINAPI SHGetDataFromIDListW(_In_ LPSHELLFOLDER psf, _In_ PCUITEMID_CHILD pidl, int nFormat, _Out_writes_bytes_(cb) LPVOID pv, int cb)
HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY, LPCWSTR, UINT, IDataObject *)
struct tagBROWSEINFOW BROWSEINFOW
BOOL WINAPI SHChangeNotifyDeregister(ULONG ulID)
HRESULT WINAPI SHLimitInputEdit(_In_ HWND hwnd, _In_ IShellFolder *folder)
static const WCHAR CFSTR_LOGICALPERFORMEDDROPEFFECTW[]
int WINAPI SHCreateDirectoryExW(_In_opt_ HWND, _In_ LPCWSTR, _In_opt_ LPSECURITY_ATTRIBUTES)
struct tagDATABLOCKHEADER * LPDBLIST
static const WCHAR CFSTR_AUTOPLAY_SHELLIDLISTSW[]
static const WCHAR CFSTR_INETURLW[]
LRESULT WINAPI CallCPLEntry16(HINSTANCE hMod, FARPROC16 pFunc, HWND dw3, UINT dw4, LPARAM dw5, LPARAM dw6)
struct NT_FE_CONSOLE_PROPS * LPNT_FE_CONSOLE_PROPS
#define KF_FLAG_DEFAULT_PATH
struct _SFV_CREATE SFV_CREATE
static const WCHAR CFSTR_FILENAMEMAPW[]
HRESULT WINAPI SHCreateFileExtractIconW(_In_ LPCWSTR pszFile, _In_ DWORD dwFileAttributes, _In_ REFIID riid, _Outptr_ void **ppv)
static const WCHAR CFSTR_TARGETCLSIDW[]
HANDLE WINAPI SHChangeNotification_Lock(_In_ HANDLE hChangeNotification, DWORD dwProcessId, _Outptr_opt_result_buffer_(2) _Outptr_opt_result_buffer_(2) PIDLIST_ABSOLUTE **pppidl, _Out_opt_ LONG *plEvent)
HRESULT WINAPI SHGetFolderLocation(_Reserved_ HWND hwndOwner, _In_ int nFolder, _In_opt_ HANDLE hToken, _In_ DWORD dwReserved, _Outptr_ PIDLIST_ABSOLUTE *ppidl)
static const WCHAR CFSTR_DRAGCONTEXTW[]
HRESULT(CALLBACK * LPFNDFMCALLBACK)(_In_opt_ IShellFolder *, _In_opt_ HWND, _In_opt_ IDataObject *, UINT, WPARAM, LPARAM)
PIDLIST_ABSOLUTE WINAPI SHCloneSpecialIDList(_Reserved_ HWND hwnd, _In_ int csidl, _In_ BOOL fCreate)
INT(CALLBACK * BFFCALLBACK)(HWND, UINT, LPARAM, LPARAM)
@ REST_PROMPTRUNASINSTALLNETPATH
@ REST_BITBUCKCONFIRMDELETE
@ REST_ALLOWUNHASHEDWEBVIEW
@ REST_DONTSHOWSUPERHIDDEN
@ REST_ARP_DONTGROUPPATCHES
@ REST_NORUNASINSTALLPROMPT
@ REST_NOCUSTOMIZEWEBVIEW
@ REST_NOSETACTIVEDESKTOP
@ REST_NOCURRENTUSERRUNONCE
@ REST_NOCLOSE_DRAGDROPBAND
@ REST_DONTRETRYBADNETNAME
@ REST_FORCESTARTMENULOGOFF
@ REST_NOENUMENTIRENETWORK
@ REST_INHERITCONSOLEHANDLES
@ REST_NONETCONNECTDISCONNECT
@ REST_NOCONTROLPANELBARRICADE
@ REST_NOFORGETSOFTWAREUPDATE
@ REST_BITBUCKNUKEONDELETE
@ REST_ALLOWLEGACYWEBVIEW
@ REST_NOCUSTOMIZETHISFOLDER
@ REST_NOTOOLBARSONTASKBAR
@ REST_NOREMOTERECURSIVEEVENTS
@ REST_NOCHANGEMAPPEDDRIVELABEL
@ REST_NOMANAGEMYCOMPUTERVERB
@ REST_NOUSERNAMEINSTARTPANEL
@ REST_NOVISUALSTYLECHOICE
@ REST_NORECENTDOCSHISTORY
@ REST_SEPARATEDESKTOPPROCESS
@ REST_NOTRAYITEMSDISPLAY
@ REST_NOSMCONFIGUREPROGRAMS
@ REST_NOLOCALMACHINERUNONCE
@ REST_NOACTIVEDESKTOPCHANGES
@ REST_ARP_NOWINSETUPPAGE
@ REST_NOREMOTECHANGENOTIFY
@ REST_NOSHELLSEARCHBUTTON
@ REST_NOONLINEPRINTSWIZARD
@ REST_ARP_NOCHOOSEPROGRAMSPAGE
@ REST_NOCHANGEMAPPEDDRIVECOMMENT
@ REST_REVERTWEBVIEWSECURITY
@ REST_NONETWORKCONNECTIONS
@ REST_NOLOWDISKSPACECHECKS
@ REST_NOCHANGINGWALLPAPER
@ REST_ALLOWFILECLSIDJUNCTIONS
@ REST_NOSTARTMENUSUBFOLDERS
@ REST_FORCECOPYACLWITHFILE
@ REST_NODISPSCREENSAVEPG
@ REST_LINKRESOLVEIGNORELINKINFO
@ REST_NONLEGACYSHELLMODE
@ REST_NODISPLAYAPPEARANCEPAGE
@ REST_NODISPSCREENSAVEPREVIEW
@ REST_NODRIVETYPEAUTORUN
@ REST_STARTRUNNOHOMEPATH
@ REST_NOINTERNETOPENWITH
@ REST_CLEARRECENTDOCSONEXIT
@ REST_ALLOWBITBUCKDRIVES
@ REST_ALLOWCOMMENTTOGGLE
@ REST_FORCEACTIVEDESKTOPON
@ REST_ENFORCESHELLEXTSECURITY
PUIDLIST_RELATIVE WINAPI ILFindChild(_In_ PIDLIST_ABSOLUTE, _In_ PCIDLIST_ABSOLUTE)
struct EXP_SPECIAL_FOLDER * LPEXP_SPECIAL_FOLDER
PIDLIST_RELATIVE WINAPI ILClone(_In_ PCUIDLIST_RELATIVE)
struct _FILEDESCRIPTORA FILEDESCRIPTORA
static const WCHAR CFSTR_SHELLIDLISTW[]
HRESULT WINAPI SHSetFolderPathA(_In_ INT csidl, _In_ HANDLE hToken, _In_ DWORD dwFlags, _In_ LPCSTR pszPath)
struct _SHChangeNotifyEntry SHChangeNotifyEntry
struct _QCMINFO_IDMAP_PLACEMENT QCMINFO_IDMAP_PLACEMENT
BOOL WINAPI DAD_DragLeave(void)
VOID WINAPI SHUpdateImageA(_In_ LPCSTR, INT, UINT, INT)
void WINAPI ILFree(_In_opt_ PIDLIST_RELATIVE)
struct EXP_SZ_LINK * LPEXP_SZ_LINK
HRESULT WINAPI SHCreateDataObject(_In_opt_ PCIDLIST_ABSOLUTE pidlFolder, _In_ UINT cidl, _In_reads_opt_(cidl) PCUITEMID_CHILD_ARRAY apidl, _In_opt_ IDataObject *pdtInner, _In_ REFIID riid, _Outptr_ void **ppv)
struct _DROPFILES * LPDROPFILES
struct _SFVM_PROPPAGE_DATA * LPSFVM_PROPPAGE_DATA
struct _SHChangeProductKeyAsIDList * LPSHChangeProductKeyAsIDList
HRESULT WINAPI SHDefExtractIconA(_In_ LPCSTR pszIconFile, int iIndex, UINT uFlags, _Out_opt_ HICON *phiconLarge, _Out_opt_ HICON *phiconSmall, UINT nIconSize)
VOID WINAPI SHGetSettings(_Out_ LPSHELLFLAGSTATE lpsfs, DWORD dwMask)
HRESULT WINAPI ILSaveToStream(_In_ LPSTREAM, _In_ PCUIDLIST_RELATIVE)
HRESULT WINAPI SHCreateShellFolderViewEx(_In_ LPCSFV pshfvi, _Outptr_ IShellView **ppshv)
DWORD WINAPI SHRestricted(RESTRICTIONS rest)
_Check_return_ HRESULT WINAPI SHGetInstanceExplorer(_Outptr_ IUnknown **)
HRESULT WINAPI SHPathPrepareForWriteA(_In_opt_ HWND, _In_opt_ IUnknown *, _In_ LPCSTR, DWORD)
DWORD WINAPI SHFormatDrive(_In_ HWND, UINT, UINT, UINT)
ULONG WINAPI SHChangeNotifyRegister(_In_ HWND hwnd, int fSources, LONG fEvents, UINT wMsg, int cEntries, _In_ SHChangeNotifyEntry *pshcne)
static const WCHAR CFSTR_PERFORMEDDROPEFFECTW[]
ITEMID_CHILD UNALIGNED * PUITEMID_CHILD
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
const ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
const PCUIDLIST_RELATIVE * PCUIDLIST_RELATIVE_ARRAY
const ITEMIDLIST_RELATIVE UNALIGNED * PCUIDLIST_RELATIVE
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
ITEMIDLIST_RELATIVE UNALIGNED * PUIDLIST_RELATIVE
BOOL ApplyChanges(HWND hwndDlg)