1 #ifndef __WINE_UNDOCSHELL_H
2 #define __WINE_UNDOCSHELL_H
7 #include "wine/obj_shellfolder.h"
8 #include "wine/obj_shellview.h"
9 #include "wine/obj_dragdrop.h"
13 #endif /* defined(__cplusplus) */
15 /****************************************************************************
18 LPITEMIDLIST WINAPI
ILClone (LPCITEMIDLIST pidl
);
19 LPITEMIDLIST WINAPI
ILCloneFirst(LPCITEMIDLIST pidl
);
21 LPITEMIDLIST WINAPI
ILCombine(
25 DWORD WINAPI
ILGetSize(LPITEMIDLIST pidl
);
27 LPITEMIDLIST WINAPI
ILGetNext(LPITEMIDLIST pidl
);
28 LPITEMIDLIST WINAPI
ILFindLastID(LPITEMIDLIST pidl
);
29 BOOL WINAPI
ILRemoveLastID(LPCITEMIDLIST pidl
);
31 LPITEMIDLIST WINAPI
ILFindChild(
35 LPITEMIDLIST WINAPI
ILAppendID(
40 BOOL WINAPI
ILIsEqual(
44 BOOL WINAPI
ILIsParent(
45 LPCITEMIDLIST pidlParent
,
46 LPCITEMIDLIST pidlChild
,
49 BOOL WINAPI
ILGetDisplayName(
53 DWORD WINAPI
ILFree(LPITEMIDLIST pidl
);
55 HRESULT WINAPI
ILSaveToStream(
59 HRESULT WINAPI
ILLoadFromStream(
63 LPITEMIDLIST WINAPI
ILGlobalClone(LPCITEMIDLIST pidl
);
64 void WINAPI
ILGlobalFree(LPCITEMIDLIST pidl
);
66 LPITEMIDLIST WINAPI
SHSimpleIDListFromPathA (LPCSTR lpszPath
);
67 LPITEMIDLIST WINAPI
SHSimpleIDListFromPathW (LPCWSTR lpszPath
);
68 LPITEMIDLIST WINAPI
SHSimpleIDListFromPathAW (LPCVOID lpszPath
);
70 HRESULT WINAPI
SHILCreateFromPathA (
75 HRESULT WINAPI
SHILCreateFromPathW (
80 HRESULT WINAPI
SHILCreateFromPathAW (
85 LPITEMIDLIST WINAPI
ILCreateFromPathA(LPCSTR path
);
86 LPITEMIDLIST WINAPI
ILCreateFromPathW(LPCWSTR path
);
87 LPITEMIDLIST WINAPI
ILCreateFromPathAW(LPCVOID path
);
89 HRESULT WINAPI
SHBindToParent(
93 LPCITEMIDLIST
*ppidlLast
);
98 HRESULT WINAPI
StrRetToStrNA (
104 HRESULT WINAPI
StrRetToStrNW (
110 HRESULT WINAPI
StrRetToStrNAW (
116 HRESULT WINAPI
StrRetToBufA (
122 HRESULT WINAPI
StrRetToBufW (
128 /****************************************************************************
129 * SHChangeNotifyRegister API
131 #define SHCNF_ACCEPT_INTERRUPTS 0x0001
132 #define SHCNF_ACCEPT_NON_INTERRUPTS 0x0002
133 #define SHCNF_NO_PROXY 0x8001
137 LPCITEMIDLIST pidlPath
;
139 } NOTIFYREGISTER
, *LPNOTIFYREGISTER
;
141 typedef const LPNOTIFYREGISTER LPCNOTIFYREGISTER
;
150 HANDLE WINAPI
SHChangeNotifyRegister(
156 LPCNOTIFYREGISTER lpItems
);
158 BOOL WINAPI
SHChangeNotifyDeregister(HANDLE hNotify
);
160 HANDLE WINAPI
SHChangeNotification_Lock(
163 LPCITEMIDLIST
**lppidls
,
166 BOOL WINAPI
SHChangeNotification_Unlock(HANDLE hLock
);
168 /****************************************************************************
169 * Shell Common Dialogs
172 BOOL WINAPI
PickIconDlg(
176 LPDWORD lpdwIconIndex
);
178 /* RunFileDlg flags */
179 #define RFF_NOBROWSE 0x01
180 #define RFF_NODEFAULT 0x02
181 #define RFF_CALCDIRECTORY 0x04
182 #define RFF_NOLABEL 0x08
183 #define RFF_NOSEPARATEMEM 0x20 /* NT only */
185 /* RunFileFlg notification structure */
192 } NM_RUNFILEDLG
, * LPNM_RUNFILEDLG
;
194 /* RunFileDlg notification return values */
196 #define RF_CANCEL 0x01
197 #define RF_RETRY 0x02
199 void WINAPI
RunFileDlg(
202 LPCSTR lpstrDirectory
,
204 LPCSTR lpstrDescription
,
207 void WINAPI
ExitWindowsDialog(HWND hwndOwner
);
209 int WINAPI
RestartDialog(
214 BOOL WINAPI
GetFileNameFromBrowse(
218 LPCSTR lpstrInitialDir
,
223 BOOL WINAPI
SHFindFiles(
224 LPCITEMIDLIST pidlRoot
,
225 LPCITEMIDLIST pidlSavedSearch
);
227 BOOL WINAPI
SHFindComputer(
228 LPCITEMIDLIST pidlRoot
,
229 LPCITEMIDLIST pidlSavedSearch
);
231 /* SHObjectProperties flags */
232 #define OPF_PRINTERNAME 0x01
233 #define OPF_PATHNAME 0x02
235 BOOL WINAPI
SHObjectProperties(
239 LPCSTR lpstrParameters
);
241 void WINAPI
SHHandleDiskFull(HWND hwndOwner
,
244 int WINAPI
SHOutOfMemoryMessageBox(
249 DWORD WINAPI
SHNetConnectionDialog(
251 LPCSTR lpstrRemoteName
,
254 int WINAPIV
ShellMessageBoxA(
262 int WINAPIV
ShellMessageBoxW(
270 #define ShellMessageBox WINELIB_NAME_AW(ShellMessageBox)
272 /****************************************************************************
276 LPVOID WINAPI
SHAlloc(ULONG cb
);
277 void WINAPI
SHFree(LPVOID pv
);
279 HANDLE WINAPI
SHAllocShared(
284 BOOL WINAPI
SHFreeShared(
288 LPVOID WINAPI
SHLockShared(
292 BOOL WINAPI
SHUnlockShared(LPVOID pv
);
294 /****************************************************************************
295 * Cabinet Window Messages
298 #define CWM_SETPATH (WM_USER + 2)
299 #define CWM_WANTIDLE (WM_USER + 3)
300 #define CWM_GETSETCURRENTINFO (WM_USER + 4)
301 #define CWM_SELECTITEM (WM_USER + 5)
302 #define CWM_SELECTITEMSTR (WM_USER + 6)
303 #define CWM_GETISHELLBROWSER (WM_USER + 7)
304 #define CWM_TESTPATH (WM_USER + 9)
305 #define CWM_STATECHANGE (WM_USER + 10)
306 #define CWM_GETPATH (WM_USER + 12)
308 /* CWM_TESTPATH types */
309 #define CWTP_ISEQUAL 0
310 #define CWTP_ISCHILD 1
312 /* CWM_TESTPATH structure */
317 } CWTESTPATHSTRUCT
,* LPCWTESTPATHSTRUCT
;
319 /****************************************************************************
320 * System Imagelist Routines
323 int WINAPI
Shell_GetCachedImageIndex(
328 BOOL WINAPI
Shell_GetImageLists(
329 HIMAGELIST
*lphimlLarge
,
330 HIMAGELIST
*lphimlSmall
);
332 HICON WINAPI
SHGetFileIcon(
335 DWORD dwFileAttributes
,
338 int WINAPI
SHMapPIDLToSystemImageListIndex(
343 BOOL WINAPI
FileIconInit(BOOL bFullInit
);
345 /****************************************************************************
348 /* FileMenu_Create nSelHeight constants */
349 #define FM_DEFAULT_SELHEIGHT -1
350 #define FM_FULL_SELHEIGHT 0
352 /* FileMenu_Create flags */
353 #define FMF_SMALL_ICONS 0x00
354 #define FMF_LARGE_ICONS 0x08
355 #define FMF_NO_COLUMN_BREAK 0x10
357 HMENU WINAPI
FileMenu_Create(
358 COLORREF crBorderColor
,
364 void WINAPI
FileMenu_Destroy(HMENU hMenu
);
366 /* FileMenu_AppendItem constants */
367 #define FM_SEPARATOR (LPCSTR)1
368 #define FM_BLANK_ICON -1
369 #define FM_DEFAULT_HEIGHT 0
371 BOOL WINAPI
FileMenu_AppendItem(
379 /* FileMenu_InsertUsingPidl flags */
380 #define FMF_NO_EMPTY_ITEM 0x01
381 #define FMF_NO_PROGRAM_GROUPS 0x04
383 /* FileMenu_InsertUsingPidl callback function */
384 typedef void CALLBACK (*LPFNFMCALLBACK
)(LPCITEMIDLIST pidlFolder
, LPCITEMIDLIST pidlFile
);
386 int WINAPI
FileMenu_InsertUsingPidl(
392 LPFNFMCALLBACK lpfnCallback
);
394 int WINAPI
FileMenu_ReplaceUsingPidl(
399 LPFNFMCALLBACK lpfnCallback
);
401 void WINAPI
FileMenu_Invalidate(HMENU hMenu
);
403 HMENU WINAPI
FileMenu_FindSubMenuByPidl(
407 BOOL WINAPI
FileMenu_TrackPopupMenuEx(
415 BOOL WINAPI
FileMenu_GetLastSelectedItemPidls(
417 LPITEMIDLIST
*ppidlFolder
,
418 LPITEMIDLIST
*ppidlItem
);
420 LRESULT WINAPI
FileMenu_MeasureItem(
422 LPMEASUREITEMSTRUCT lpmis
);
424 LRESULT WINAPI
FileMenu_DrawItem(
426 LPDRAWITEMSTRUCT lpdis
);
428 BOOL WINAPI
FileMenu_InitMenuPopup(HMENU hMenu
);
430 void WINAPI
FileMenu_AbortInitMenu(void);
432 LRESULT WINAPI
FileMenu_HandleMenuChar(
436 BOOL WINAPI
FileMenu_DeleteAllItems(HMENU hMenu
);
438 BOOL WINAPI
FileMenu_DeleteItemByCmd(
442 BOOL WINAPI
FileMenu_DeleteItemByIndex(
446 BOOL WINAPI
FileMenu_DeleteMenuItemByFirstID(
450 BOOL WINAPI
FileMenu_DeleteSeparator(HMENU hMenu
);
452 BOOL WINAPI
FileMenu_EnableItemByCmd(
457 DWORD WINAPI
FileMenu_GetItemExtent(
461 int WINAPI
FileMenu_AppendFilesForPidl(
466 int WINAPI
FileMenu_AddFilesForPidl(
473 LPFNFMCALLBACK lpfnCallback
);
475 /****************************************************************************
476 * Drag And Drop Routines
478 HRESULT WINAPI
SHLoadOLE(DWORD dwFlags
);
480 HRESULT WINAPI
SHRegisterDragDrop(
482 LPDROPTARGET lpDropTarget
);
484 HRESULT WINAPI
SHRevokeDragDrop(HWND hWnd
);
486 HRESULT WINAPI
SHDoDragDrop(
488 LPDATAOBJECT lpDataObject
,
489 LPDROPSOURCE lpDropSource
,
493 BOOL WINAPI
DAD_DragEnter(HWND hWnd
);
495 BOOL WINAPI
DAD_DragEnterEx(
499 BOOL WINAPI
DAD_DragMove(POINT pt
);
501 /* DAD_AutoScroll return values */
502 #define DAD_SCROLL_UP 1
503 #define DAD_SCROLL_DOWN 2
504 #define DAD_SCROLL_LEFT 4
505 #define DAD_SCROLL_RIGHT 8
507 /* DAD_AutoScroll sample structure */
513 POINT aptPositions
[3];
515 } SCROLLSAMPLES
, *LPSCROLLSAMPLES
;
517 DWORD WINAPI
DAD_AutoScroll(HWND hWnd
,
518 LPSCROLLSAMPLES lpSamples
,
521 BOOL WINAPI
DAD_DragLeave();
523 BOOL WINAPI
DAD_SetDragImageFromListView(
527 BOOL WINAPI
DAD_SetDragImage(
528 HIMAGELIST himlTrack
,
531 BOOL WINAPI
DAD_ShowDragImage(BOOL bShow
);
533 HRESULT WINAPI
SHCreateStdEnumFmtEtc(
535 const FORMATETC
*lpFormats
,
536 LPENUMFORMATETC
*ppenumFormatetc
);
538 HRESULT WINAPI
CIDLData_CreateFromIDArray(
539 LPCITEMIDLIST pidlFolder
,
541 LPCITEMIDLIST
*lppidlFiles
,
542 LPDATAOBJECT
*ppdataObject
);
544 /****************************************************************************
545 * Path Manipulation Routines
548 LPSTR WINAPI
PathAppend(
552 LPSTR WINAPI
PathCombineA(LPSTR szDest
, LPCSTR lpszDir
, LPCSTR lpszFile
);
553 LPWSTR WINAPI
PathCombineW(LPWSTR szDest
, LPCWSTR lpszDir
, LPCWSTR lpszFile
);
554 #define PathCombine WINELIB_NAME_AW(PathCombine)
555 LPVOID WINAPI
PathCombineAW(LPVOID szDest
, LPCVOID lpszDir
, LPCVOID lpszFile
);
557 LPSTR WINAPI
PathAddBackslashA(LPSTR path
);
558 LPWSTR WINAPI
PathAddBackslashW(LPWSTR path
);
559 #define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
560 LPVOID WINAPI
PathAddBackslashAW(LPVOID path
);
562 LPSTR WINAPI
PathRemoveBackslashA(LPSTR lpszPath
);
563 LPWSTR WINAPI
PathRemoveBackslashW(LPWSTR lpszPath
);
564 #define PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
566 LPSTR WINAPI
PathBuildRoot(
570 LPSTR WINAPI
PathFindExtensionA(LPCSTR path
);
571 LPWSTR WINAPI
PathFindExtensionW(LPCWSTR path
);
572 #define PathFindExtension WINELIB_NAME_AW(PathFindExtension)
573 LPVOID WINAPI
PathFindExtensionAW(LPCVOID path
);
575 LPSTR WINAPI
PathGetExtensionA(LPCSTR lpszPath
);
576 LPWSTR WINAPI
PathGetExtensionW(LPCWSTR lpszPath
);
577 #define PathGetExtension WINELIB_NAME_AW(PathGetExtension)
578 LPVOID WINAPI
PathGetExtensionAW(LPCVOID lpszPath
);
580 LPSTR WINAPI
PathGetArgs(LPCSTR lpszPath
);
582 BOOL WINAPI
PathRemoveFileSpec(LPSTR lpszPath
);
584 LPSTR WINAPI
PathGetShortPath(LPSTR lpszPath
);
586 LPSTR WINAPI
PathQuoteSpacesA(LPSTR path
);
587 LPWSTR WINAPI
PathQuoteSpacesW(LPWSTR path
);
588 #define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
589 LPVOID WINAPI
PathQuoteSpacesAW(LPVOID path
);
591 void WINAPI
PathUnquoteSpaces(LPSTR lpszPath
);
593 BOOL WINAPI
PathIsUNCA(LPCSTR lpszPath
);
594 BOOL WINAPI
PathIsUNCW(LPCWSTR lpszPath
);
595 #define PathIsUNC WINELIB_NAME_AW(PathIsUNC)
596 BOOL WINAPI
PathIsUNCAW(LPCVOID lpszPath
);
598 BOOL WINAPI
PathIsRelativeA(LPCSTR lpszPath
);
599 BOOL WINAPI
PathIsRelativeW(LPCWSTR lpszPath
);
600 #define PathIsRelative WINELIB_NAME_AW(PathIsRelative)
601 BOOL WINAPI
PathIsRelativeAW(LPCVOID lpszPath
);
603 BOOL WINAPI
PathIsRootA(LPCSTR x
);
604 BOOL WINAPI
PathIsRootW(LPCWSTR x
);
605 #define PathIsRoot WINELIB_NAME_AW(PathIsRoot)
606 BOOL WINAPI
PathIsRootAW(LPCVOID x
);
608 BOOL WINAPI
PathIsExe(LPCSTR lpszPath
);
610 BOOL WINAPI
PathIsDirectory(LPCSTR lpszPath
);
612 BOOL WINAPI
PathFileExists(LPCSTR lpszPath
);
614 BOOL WINAPI
PathMatchSpecA(
617 BOOL WINAPI
PathMatchSpecW(
620 #define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
621 BOOL WINAPI
PathMatchSpecAW(LPVOID lpszPath
, LPVOID lpszSpec
);
623 BOOL WINAPI
PathMakeUniqueName(
626 LPCSTR lpszShortName
,
628 LPCSTR lpszPathName
);
630 BOOL WINAPI
PathYetAnotherMakeUniqueName(
633 LPCSTR lpszShortName
,
634 LPCSTR lpszLongName
);
636 BOOL WINAPI
PathFindOnPath(
640 /* PathCleanupSpec return values */
641 #define PCS_REPLACEDCHARS 0x00000001
642 #define PCS_REMOVEDCHARS 0x00000002
643 #define PCS_SHORTENED 0x00000004
644 #define PCS_PATHTOOLONG 0x80000008
646 DWORD WINAPI
PathCleanupSpec(
650 BOOL WINAPI
PathQualifyA(LPCSTR path
);
651 BOOL WINAPI
PathQualifyW(LPCWSTR path
);
652 #define PathQualify WINELIB_NAME_AW(PathQualify)
653 BOOL WINAPI
PathQualifyAW(LPCVOID path
);
656 /* PathResolve flags */
657 #define PRF_CHECKEXISTANCE 0x01
658 #define PRF_EXECUTABLE 0x02
659 #define PRF_QUALIFYONPATH 0x04
660 #define PRF_WINDOWS31 0x08
662 BOOL WINAPI
PathResolve(
667 BOOL WINAPI
PathSetDlgItemPath(
672 /* PathProcessCommand flags */
673 #define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
674 #define PPCF_INCLUDEARGS 0x02
675 #define PPCF_NODIRECTORIES 0x10
676 #define PPCF_DONTRESOLVE 0x20
677 #define PPCF_PATHISRELATIVE 0x40
679 int WINAPI
PathProcessCommand(
685 void WINAPI
PathStripPath(LPWSTR lpszPath
);
687 BOOL WINAPI
PathStripToRoot(LPWSTR lpszPath
);
689 void WINAPI
PathRemoveArgs(LPWSTR lpszPath
);
691 void WINAPI
PathRemoveExtension(LPWSTR lpszPath
);
693 int WINAPI
PathParseIconLocation(LPWSTR lpszPath
);
695 BOOL WINAPI
PathIsSameRoot(
699 BOOL WINAPI
PathFindOnPathA(LPSTR sFile
, LPCSTR sOtherDirs
);
700 BOOL WINAPI
PathFindOnPathW(LPWSTR sFile
, LPCWSTR sOtherDirs
);
701 #define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
702 BOOL WINAPI
PathFindOnPathAW(LPVOID sFile
, LPCVOID sOtherDirs
);
704 LPSTR WINAPI
StrFormatByteSizeA ( DWORD dw
, LPSTR pszBuf
, UINT cchBuf
);
705 LPWSTR WINAPI
StrFormatByteSizeW ( DWORD dw
, LPWSTR pszBuf
, UINT cchBuf
);
706 #define StrFormatByteSize WINELIB_NAME_AW(StrFormatByteSize)
708 DWORD WINAPI
PathCleanupSpecA(LPSTR x
, LPSTR y
);
709 DWORD WINAPI
PathCleanupSpecW(LPWSTR x
, LPWSTR y
);
710 #define PathCleanupSpec WINELIB_NAME_AW(PathCleanupSpec)
712 /****************************************************************************
713 * Shell Namespace Routines
716 /* SHCreateShellFolderViewEx callback function */
717 typedef HRESULT (CALLBACK
* LPFNSFVCALLBACK
)(
725 /* SHCreateShellFolderViewEx structure */
731 LPCITEMIDLIST pidlFolder
;
733 LPFNSFVCALLBACK lpfnCallback
;
735 } SHELLFOLDERVIEWINFO
, * LPSHELLFOLDERVIEWINFO
;
736 typedef const SHELLFOLDERVIEWINFO
* LPCSHELLFOLDERVIEWINFO
;
738 HRESULT WINAPI
SHCreateShellFolderViewEx(
739 LPCSHELLFOLDERVIEWINFO pshfvi
,
742 /* SHCreateShellFolderViewEx callback messages */
743 #define SFVCB_ADDTOMENU 0x0001
744 #define SFVCB_INVOKECOMMAND 0x0002
745 #define SFVCB_GETMENUHELP 0x0003
746 #define SFVCB_GETTOOLBARTIP 0x0004
747 #define SFVCB_GETTOOLBARINFO 0x0005
748 #define SFVCB_ADDTOOLBARITEMS 0x0006
749 #define SFVCB_INITMENUPOPUP 0x0007
750 #define SFVCB_SELECTIONCHANGED 0x0008
751 #define SFVCB_DRAWMENUITEM 0x0009
752 #define SFVCB_MEASUREMENUITEM 0x000A
753 #define SFVCB_EXITMENULOOP 0x000B
754 #define SFVCB_VIEWRELEASE 0x000C
755 #define SFVCB_GETNAMELENGTH 0x000D
756 #define SFVCB_CHANGENOTIFY 0x000E
757 #define SFVCB_WINDOWCREATED 0x000F
758 #define SFVCB_WINDOWCLOSING 0x0010
759 #define SFVCB_LISTREFRESHED 0x0011
760 #define SFVCB_WINDOWFOCUSED 0x0012
761 #define SFVCB_REGISTERCOPYHOOK 0x0014
762 #define SFVCB_COPYHOOKCALLBACK 0x0015
763 #define SFVCB_GETDETAILSOF 0x0017
764 #define SFVCB_COLUMNCLICK 0x0018
765 #define SFVCB_GETCHANGENOTIFYPIDL 0x0019
766 #define SFVCB_GETESTIMATEDCOUNT 0x001A
767 #define SFVCB_ADJUSTVIEWMODE 0x001B
768 #define SFVCB_REMOVEFROMMENU 0x001C
769 #define SFVCB_ADDINGOBJECT 0x001D
770 #define SFVCB_REMOVINGOBJECT 0x001E
771 #define SFVCB_UPDATESTATUSBAR 0x001F
772 #define SFVCB_ISSLOWREFRESH 0x0020
773 #define SFVCB_GETCOMMANDDIR 0x0021
774 #define SFVCB_GETCOLUMNSTREAM 0x0022
775 #define SFVCB_CANSELECTALL 0x0023
776 #define SFVCB_DRAGSUCCEEDED 0x0024
777 #define SFVCB_ISSTRICTREFRESH 0x0025
778 #define SFVCB_ISCHILDOBJECT 0x0026
780 /* Generic structure used by several messages */
787 } SFVCBINFO
, * LPSFVCBINFO
;
788 typedef const SFVCBINFO
* LPCSFVCBINFO
;
790 /* SFVCB_ADDTOMENU structure */
797 } SFVMENUINFO
, * LPSFVMENUINFO
;
799 /* SFVCB_GETTOOLBARINFO structure */
804 } SFVTOOLBARINFO
, * LPSFVTOOLBARINFO
;
806 /* SFVTOOLBARINFO flags */
810 SFVTI_ADDTOFRONT
= 1,
814 /* SFVCB_SELECTIONCHANGED structure */
821 } SFVSELECTSTATE
, * LPSFVSELECTSTATE
;
822 typedef const SFVSELECTSTATE
* LPCSFVSELECTSTATE
;
824 /* SFVCB_COPYHOOKCALLBACK structure */
834 } SFVCOPYHOOKINFO
, * LPSFVCOPYHOOKINFO
;
835 typedef const SFVCOPYHOOKINFO
* LPCSFVCOPYHOOKINFO
;
837 /* SFVCB_GETDETAILSOF structure */
844 } SFVCOLUMNINFO
, * LPSFVCOLUMNINFO
;
846 int WINAPI
SHShellFolderView_Message(
851 /* SHShellFolderView_Message messages */
852 #define SFVM_REARRANGE 0x0001
853 #define SFVM_GETARRANGECOLUMN 0x0002
854 #define SFVM_ADDOBJECT 0x0003
855 #define SFVM_GETITEMCOUNT 0x0004
856 #define SFVM_GETITEMPIDL 0x0005
857 #define SFVM_REMOVEOBJECT 0x0006
858 #define SFVM_UPDATEOBJECT 0x0007
859 #define SFVM_SETREDRAW 0x0008
860 #define SFVM_GETSELECTEDOBJECTS 0x0009
861 #define SFVM_ISDROPONSOURCE 0x000A
862 #define SFVM_MOVEICONS 0x000B
863 #define SFVM_GETDRAGPOINT 0x000C
864 #define SFVM_GETDROPPOINT 0x000D
865 #define SFVM_SETOBJECTPOS 0x000E
866 #define SFVM_ISDROPONBACKGROUND 0x000F
867 #define SFVM_CUTOBJECTS 0x0010
868 #define SFVM_TOGGLEAUTOARRANGE 0x0011
869 #define SFVM_LINEUPICONS 0x0012
870 #define SFVM_GETAUTOARRANGE 0x0013
871 #define SFVM_GETSELECTEDCOUNT 0x0014
872 #define SFVM_GETITEMSPACING 0x0015
873 #define SFVM_REFRESHOBJECT 0x0016
874 #define SFVM_SETCLIPBOARDPOINTS 0x0017
876 /****************************************************************************
880 /* SHWaitForFileToOpen flags */
881 #define SHWFF_ADD 0x01
882 #define SHWFF_REMOVE 0x02
883 #define SHWFF_WAIT 0x04
885 BOOL WINAPI
SHWaitForFileToOpen(
890 WORD WINAPI
ArrangeWindows(
895 CONST HWND
* lpKids
);
897 /* RegisterShellHook types */
898 #define RSH_DEREGISTER 0
899 #define RSH_REGISTER 1
900 #define RSH_REGISTER_PROGMAN 2
901 #define RSH_REGISTER_TASKMAN 3
903 BOOL WINAPI
RegisterShellHook(
907 /* SHCreateDefClassObject callback function */
908 typedef HRESULT
CALLBACK (*LPFNCDCOCALLBACK
)(
913 HRESULT WINAPI
SHCreateDefClassObject(
916 LPFNCDCOCALLBACK lpfnCallback
,
920 HRESULT WINAPI
SHCoCreateInstance(
927 void WINAPI
SHFreeUnusedLibraries();
929 /* SHCreateLinks flags */
930 #define SHCLF_PREFIXNAME 0x01
931 #define SHCLF_CREATEONDESKTOP 0x02
933 HRESULT WINAPI
SHCreateLinks(
936 LPDATAOBJECT lpDataObject
,
938 LPITEMIDLIST
*lppidlLinks
);
940 /* SHGetNewLinkInfo flags */
941 #define SHGNLI_PIDL 0x01
942 #define SHGNLI_PREFIXNAME 0x02
943 #define SHGNLI_NOUNIQUE 0x04
945 BOOL WINAPI
SHGetNewLinkInfoA(
952 BOOL WINAPI
SHGetNewLinkInfoW(
958 #define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo)
960 /* policy functions */
961 BOOL WINAPI
SHInitRestricted(LPSTR
, LPSTR
);
965 #endif /* defined(__cplusplus) */
967 #endif /* __WINE_SHLOBJ_H */