2 * Copyright 1999, 2000 Juergen Schmied
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef __WINE_UNDOCSHELL_H
20 #define __WINE_UNDOCSHELL_H
32 #endif /* defined(__cplusplus) */
34 /****************************************************************************
37 BOOL WINAPI
ILGetDisplayName(
41 /* type parameter for ILGetDisplayNameEx() */
42 #define ILGDN_FORPARSING 0
43 #define ILGDN_NORMAL 1
44 #define ILGDN_INFOLDER 2
46 BOOL WINAPI
ILGetDisplayNameEx(
52 HRESULT WINAPI
ILSaveToStream(
56 HRESULT WINAPI
ILLoadFromStream(
60 LPITEMIDLIST WINAPI
ILGlobalClone(LPCITEMIDLIST pidl
);
61 void WINAPI
ILGlobalFree(LPITEMIDLIST pidl
);
63 LPITEMIDLIST WINAPI
SHSimpleIDListFromPathA (LPCSTR lpszPath
);
64 LPITEMIDLIST WINAPI
SHSimpleIDListFromPathW (LPCWSTR lpszPath
);
65 LPITEMIDLIST WINAPI
SHSimpleIDListFromPathAW (LPCVOID lpszPath
);
67 HRESULT WINAPI
SHILCreateFromPathA (
72 HRESULT WINAPI
SHILCreateFromPathW (
77 HRESULT WINAPI
SHILCreateFromPathAW (
82 LPITEMIDLIST WINAPI
ILCreateFromPathA(LPCSTR path
);
83 LPITEMIDLIST WINAPI
ILCreateFromPathW(LPCWSTR path
);
84 LPITEMIDLIST WINAPI
ILCreateFromPathAW(LPCVOID path
);
89 BOOL WINAPI
StrRetToStrNA(LPSTR
,DWORD
,LPSTRRET
,const ITEMIDLIST
*);
90 BOOL WINAPI
StrRetToStrNW(LPWSTR
,DWORD
,LPSTRRET
,const ITEMIDLIST
*);
91 BOOL WINAPI
StrRetToStrNAW(LPVOID
,DWORD
,LPSTRRET
,const ITEMIDLIST
*);
94 /****************************************************************************
95 * SHChangeNotifyRegister API
97 #define SHCNRF_InterruptLevel 0x0001
98 #define SHCNRF_ShellLevel 0x0002
99 #define SHCNRF_RecursiveInterrupt 0x1000 /* Must be combined with SHCNRF_InterruptLevel */
100 #define SHCNRF_NewDelivery 0x8000 /* Messages use shared memory */
102 /****************************************************************************
103 * Shell Common Dialogs
106 BOOL WINAPI
PickIconDlg(
110 LPDWORD lpdwIconIndex
);
112 /* RunFileDlg flags */
113 #define RFF_NOBROWSE 0x01
114 #define RFF_NODEFAULT 0x02
115 #define RFF_CALCDIRECTORY 0x04
116 #define RFF_NOLABEL 0x08
117 #define RFF_NOSEPARATEMEM 0x20 /* NT only */
119 /* RunFileFlg notification structure */
126 } NM_RUNFILEDLG
, * LPNM_RUNFILEDLG
;
128 /* RunFileDlg notification return values */
130 #define RF_CANCEL 0x01
131 #define RF_RETRY 0x02
133 void WINAPI
RunFileDlg(
136 LPCSTR lpstrDirectory
,
138 LPCSTR lpstrDescription
,
141 void WINAPI
ExitWindowsDialog(HWND hwndOwner
);
143 int WINAPI
RestartDialog(
148 BOOL WINAPI
GetFileNameFromBrowse(
152 LPCSTR lpstrInitialDir
,
157 BOOL WINAPI
SHFindFiles(
158 LPCITEMIDLIST pidlRoot
,
159 LPCITEMIDLIST pidlSavedSearch
);
161 BOOL WINAPI
SHFindComputer(
162 LPCITEMIDLIST pidlRoot
,
163 LPCITEMIDLIST pidlSavedSearch
);
165 /* SHObjectProperties flags */
166 #define OPF_PRINTERNAME 0x01
167 #define OPF_PATHNAME 0x02
169 BOOL WINAPI
SHObjectProperties(
173 LPCSTR lpstrParameters
);
175 void WINAPI
SHHandleDiskFull(HWND hwndOwner
,
178 int WINAPI
SHOutOfMemoryMessageBox(
183 DWORD WINAPI
SHNetConnectionDialog(
185 LPCSTR lpstrRemoteName
,
188 int WINAPIV
ShellMessageBoxA(
196 int WINAPIV
ShellMessageBoxW(
204 #define ShellMessageBox WINELIB_NAME_AW(ShellMessageBox)
206 /****************************************************************************
210 LPVOID WINAPI
SHAlloc(ULONG cb
);
211 void WINAPI
SHFree(LPVOID pv
);
213 HANDLE WINAPI
SHAllocShared(
218 BOOL WINAPI
SHFreeShared(
222 LPVOID WINAPI
SHLockShared(
226 BOOL WINAPI
SHUnlockShared(LPVOID pv
);
228 /****************************************************************************
229 * Cabinet Window Messages
232 #define CWM_SETPATH (WM_USER + 2)
233 #define CWM_WANTIDLE (WM_USER + 3)
234 #define CWM_GETSETCURRENTINFO (WM_USER + 4)
235 #define CWM_SELECTITEM (WM_USER + 5)
236 #define CWM_SELECTITEMSTR (WM_USER + 6)
237 #define CWM_GETISHELLBROWSER (WM_USER + 7)
238 #define CWM_TESTPATH (WM_USER + 9)
239 #define CWM_STATECHANGE (WM_USER + 10)
240 #define CWM_GETPATH (WM_USER + 12)
242 /* CWM_TESTPATH types */
243 #define CWTP_ISEQUAL 0
244 #define CWTP_ISCHILD 1
246 /* CWM_TESTPATH structure */
251 } CWTESTPATHSTRUCT
,* LPCWTESTPATHSTRUCT
;
253 /****************************************************************************
254 * System Imagelist Routines
257 int WINAPI
Shell_GetCachedImageIndex(
262 BOOL WINAPI
Shell_GetImageLists(
263 HIMAGELIST
*lphimlLarge
,
264 HIMAGELIST
*lphimlSmall
);
266 HICON WINAPI
SHGetFileIcon(
269 DWORD dwFileAttributes
,
272 int WINAPI
SHMapPIDLToSystemImageListIndex(
277 BOOL WINAPI
FileIconInit(BOOL bFullInit
);
279 /****************************************************************************
282 /* FileMenu_Create nSelHeight constants */
283 #define FM_DEFAULT_SELHEIGHT -1
284 #define FM_FULL_SELHEIGHT 0
286 /* FileMenu_Create flags */
287 #define FMF_SMALL_ICONS 0x00
288 #define FMF_LARGE_ICONS 0x08
289 #define FMF_NO_COLUMN_BREAK 0x10
291 HMENU WINAPI
FileMenu_Create(
292 COLORREF crBorderColor
,
298 void WINAPI
FileMenu_Destroy(HMENU hMenu
);
300 /* FileMenu_AppendItem constants */
301 #define FM_SEPARATOR (LPCSTR)1
302 #define FM_BLANK_ICON -1
303 #define FM_DEFAULT_HEIGHT 0
305 BOOL WINAPI
FileMenu_AppendItem(
313 /* FileMenu_InsertUsingPidl flags */
314 #define FMF_NO_EMPTY_ITEM 0x01
315 #define FMF_NO_PROGRAM_GROUPS 0x04
317 /* FileMenu_InsertUsingPidl callback function */
318 typedef void (CALLBACK
*LPFNFMCALLBACK
)(LPCITEMIDLIST pidlFolder
, LPCITEMIDLIST pidlFile
);
320 int WINAPI
FileMenu_InsertUsingPidl(
326 LPFNFMCALLBACK lpfnCallback
);
328 int WINAPI
FileMenu_ReplaceUsingPidl(
333 LPFNFMCALLBACK lpfnCallback
);
335 void WINAPI
FileMenu_Invalidate(HMENU hMenu
);
337 HMENU WINAPI
FileMenu_FindSubMenuByPidl(
341 BOOL WINAPI
FileMenu_TrackPopupMenuEx(
349 BOOL WINAPI
FileMenu_GetLastSelectedItemPidls(
351 LPCITEMIDLIST
*ppidlFolder
,
352 LPCITEMIDLIST
*ppidlItem
);
354 LRESULT WINAPI
FileMenu_MeasureItem(
356 LPMEASUREITEMSTRUCT lpmis
);
358 LRESULT WINAPI
FileMenu_DrawItem(
360 LPDRAWITEMSTRUCT lpdis
);
362 BOOL WINAPI
FileMenu_InitMenuPopup(HMENU hMenu
);
364 void WINAPI
FileMenu_AbortInitMenu(void);
366 LRESULT WINAPI
FileMenu_HandleMenuChar(
370 BOOL WINAPI
FileMenu_DeleteAllItems(HMENU hMenu
);
372 BOOL WINAPI
FileMenu_DeleteItemByCmd(
376 BOOL WINAPI
FileMenu_DeleteItemByIndex(
380 BOOL WINAPI
FileMenu_DeleteMenuItemByFirstID(
384 BOOL WINAPI
FileMenu_DeleteSeparator(HMENU hMenu
);
386 BOOL WINAPI
FileMenu_EnableItemByCmd(
391 DWORD WINAPI
FileMenu_GetItemExtent(
395 int WINAPI
FileMenu_AppendFilesForPidl(
400 int WINAPI
FileMenu_AddFilesForPidl(
407 LPFNFMCALLBACK lpfnCallback
);
409 /****************************************************************************
410 * Drag And Drop Routines
412 HRESULT WINAPI
SHLoadOLE(DWORD dwFlags
);
414 HRESULT WINAPI
SHRegisterDragDrop(
416 LPDROPTARGET lpDropTarget
);
418 HRESULT WINAPI
SHRevokeDragDrop(HWND hWnd
);
420 HRESULT WINAPI
SHDoDragDrop(
422 LPDATAOBJECT lpDataObject
,
423 LPDROPSOURCE lpDropSource
,
427 BOOL WINAPI
DAD_DragEnter(HWND hWnd
);
429 BOOL WINAPI
DAD_DragEnterEx(
433 BOOL WINAPI
DAD_DragMove(POINT pt
);
435 /* DAD_AutoScroll return values */
436 #define DAD_SCROLL_UP 1
437 #define DAD_SCROLL_DOWN 2
438 #define DAD_SCROLL_LEFT 4
439 #define DAD_SCROLL_RIGHT 8
441 /* DAD_AutoScroll sample structure */
447 POINT aptPositions
[3];
449 } SCROLLSAMPLES
, *LPSCROLLSAMPLES
;
451 DWORD WINAPI
DAD_AutoScroll(HWND hWnd
,
452 LPSCROLLSAMPLES lpSamples
,
455 BOOL WINAPI
DAD_DragLeave();
457 BOOL WINAPI
DAD_SetDragImageFromListView(
461 BOOL WINAPI
DAD_SetDragImage(
462 HIMAGELIST himlTrack
,
465 BOOL WINAPI
DAD_ShowDragImage(BOOL bShow
);
467 HRESULT WINAPI
SHCreateStdEnumFmtEtc(
469 const FORMATETC
*lpFormats
,
470 LPENUMFORMATETC
*ppenumFormatetc
);
472 HRESULT WINAPI
CIDLData_CreateFromIDArray(
473 LPCITEMIDLIST pidlFolder
,
475 LPCITEMIDLIST
*lppidlFiles
,
476 LPDATAOBJECT
*ppdataObject
);
478 /****************************************************************************
479 * Path Manipulation Routines
482 BOOL WINAPI
PathAppendAW(LPVOID lpszPath1
, LPCVOID lpszPath2
);
484 LPVOID WINAPI
PathCombineAW(LPVOID szDest
, LPCVOID lpszDir
, LPCVOID lpszFile
);
486 LPVOID WINAPI
PathAddBackslashAW(LPVOID path
);
488 LPVOID WINAPI
PathBuildRootAW(LPVOID lpszPath
, int drive
);
490 LPVOID WINAPI
PathFindExtensionAW(LPCVOID path
);
492 LPVOID WINAPI
PathFindFileNameAW(LPCVOID path
);
494 LPVOID WINAPI
PathGetExtensionAW(LPCVOID lpszPath
, DWORD void1
, DWORD void2
);
496 LPVOID WINAPI
PathGetArgsAW(LPVOID lpszPath
);
498 BOOL WINAPI
PathRemoveFileSpecAW(LPVOID lpszPath
);
500 void WINAPI
PathRemoveBlanksAW(LPVOID lpszPath
);
502 VOID WINAPI
PathQuoteSpacesAW(LPVOID path
);
504 void WINAPI
PathUnquoteSpacesAW(LPVOID lpszPath
);
506 BOOL WINAPI
PathIsUNCAW(LPCVOID lpszPath
);
508 BOOL WINAPI
PathIsRelativeAW(LPCVOID lpszPath
);
510 BOOL WINAPI
PathIsRootAW(LPCVOID x
);
512 BOOL WINAPI
PathIsExeAW(LPCVOID lpszPath
);
514 BOOL WINAPI
PathIsDirectoryAW(LPCVOID lpszPath
);
516 BOOL WINAPI
PathFileExistsAW(LPCVOID lpszPath
);
518 BOOL WINAPI
PathMatchSpecAW(LPVOID lpszPath
, LPVOID lpszSpec
);
520 BOOL WINAPI
PathMakeUniqueNameAW(
523 LPCVOID lpszShortName
,
524 LPCVOID lpszLongName
,
525 LPCVOID lpszPathName
);
527 BOOL WINAPI
PathYetAnotherMakeUniqueName(
529 LPCWSTR lpszPathName
,
530 LPCWSTR lpszShortName
,
531 LPCWSTR lpszLongName
);
533 /* PathCleanupSpec return values */
534 #define PCS_REPLACEDCHARS 0x00000001
535 #define PCS_REMOVEDCHARS 0x00000002
536 #define PCS_SHORTENED 0x00000004
537 #define PCS_PATHTOOLONG 0x80000008
539 DWORD WINAPI
PathCleanupSpecAW(LPCVOID lpszPath
, LPVOID lpszFile
);
541 BOOL WINAPI
PathQualifyA(LPCSTR path
);
542 BOOL WINAPI
PathQualifyW(LPCWSTR path
);
543 #define PathQualify WINELIB_NAME_AW(PathQualify)
544 BOOL WINAPI
PathQualifyAW(LPCVOID path
);
547 /* PathResolve flags */
548 #define PRF_CHECKEXISTANCE 0x01
549 #define PRF_EXECUTABLE 0x02
550 #define PRF_QUALIFYONPATH 0x04
551 #define PRF_WINDOWS31 0x08
553 BOOL WINAPI
PathResolveAW(LPVOID lpszPath
, LPCVOID
*alpszPaths
, DWORD dwFlags
);
555 VOID WINAPI
PathSetDlgItemPathAW(HWND hDlg
, int nIDDlgItem
, LPCVOID lpszPath
);
557 /* PathProcessCommand flags */
558 #define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
559 #define PPCF_INCLUDEARGS 0x02
560 #define PPCF_NODIRECTORIES 0x10
561 #define PPCF_DONTRESOLVE 0x20
562 #define PPCF_PATHISRELATIVE 0x40
564 HRESULT WINAPI
PathProcessCommandAW(LPCVOID lpszPath
, LPVOID lpszBuff
,
565 DWORD dwBuffSize
, DWORD dwFlags
);
567 void WINAPI
PathStripPathAW(LPVOID lpszPath
);
569 BOOL WINAPI
PathStripToRootAW(LPVOID lpszPath
);
571 void WINAPI
PathRemoveArgsAW(LPVOID lpszPath
);
573 void WINAPI
PathRemoveExtensionAW(LPVOID lpszPath
);
575 int WINAPI
PathParseIconLocationAW(LPVOID lpszPath
);
577 BOOL WINAPI
PathIsSameRootAW(LPCVOID lpszPath1
, LPCVOID lpszPath2
);
579 BOOL WINAPI
PathFindOnPathAW(LPVOID sFile
, LPCVOID sOtherDirs
);
581 /****************************************************************************
582 * Shell Namespace Routines
585 /* SHCreateShellFolderViewEx callback function */
586 typedef HRESULT (CALLBACK
*LPFNSFVCALLBACK
)(
594 /* SHCreateShellFolderViewEx structure */
600 LPCITEMIDLIST pidlFolder
;
602 LPFNSFVCALLBACK lpfnCallback
;
604 } SHELLFOLDERVIEWINFO
, * LPSHELLFOLDERVIEWINFO
;
605 typedef const SHELLFOLDERVIEWINFO
* LPCSHELLFOLDERVIEWINFO
;
607 HRESULT WINAPI
SHCreateShellFolderViewEx(
608 LPCSHELLFOLDERVIEWINFO pshfvi
,
611 /* SHCreateShellFolderViewEx callback messages */
612 #define SFVCB_ADDTOMENU 0x0001
613 #define SFVCB_INVOKECOMMAND 0x0002
614 #define SFVCB_GETMENUHELP 0x0003
615 #define SFVCB_GETTOOLBARTIP 0x0004
616 #define SFVCB_GETTOOLBARINFO 0x0005
617 #define SFVCB_ADDTOOLBARITEMS 0x0006
618 #define SFVCB_INITMENUPOPUP 0x0007
619 #define SFVCB_SELECTIONCHANGED 0x0008
620 #define SFVCB_DRAWMENUITEM 0x0009
621 #define SFVCB_MEASUREMENUITEM 0x000A
622 #define SFVCB_EXITMENULOOP 0x000B
623 #define SFVCB_VIEWRELEASE 0x000C
624 #define SFVCB_GETNAMELENGTH 0x000D
625 #define SFVCB_CHANGENOTIFY 0x000E
626 #define SFVCB_WINDOWCREATED 0x000F
627 #define SFVCB_WINDOWCLOSING 0x0010
628 #define SFVCB_LISTREFRESHED 0x0011
629 #define SFVCB_WINDOWFOCUSED 0x0012
630 #define SFVCB_REGISTERCOPYHOOK 0x0014
631 #define SFVCB_COPYHOOKCALLBACK 0x0015
632 #define SFVCB_GETDETAILSOF 0x0017
633 #define SFVCB_COLUMNCLICK 0x0018
634 #define SFVCB_GETCHANGENOTIFYPIDL 0x0019
635 #define SFVCB_GETESTIMATEDCOUNT 0x001A
636 #define SFVCB_ADJUSTVIEWMODE 0x001B
637 #define SFVCB_REMOVEFROMMENU 0x001C
638 #define SFVCB_ADDINGOBJECT 0x001D
639 #define SFVCB_REMOVINGOBJECT 0x001E
640 #define SFVCB_UPDATESTATUSBAR 0x001F
641 #define SFVCB_ISSLOWREFRESH 0x0020
642 #define SFVCB_GETCOMMANDDIR 0x0021
643 #define SFVCB_GETCOLUMNSTREAM 0x0022
644 #define SFVCB_CANSELECTALL 0x0023
645 #define SFVCB_DRAGSUCCEEDED 0x0024
646 #define SFVCB_ISSTRICTREFRESH 0x0025
647 #define SFVCB_ISCHILDOBJECT 0x0026
649 /* Generic structure used by several messages */
656 } SFVCBINFO
, * LPSFVCBINFO
;
657 typedef const SFVCBINFO
* LPCSFVCBINFO
;
659 /* SFVCB_ADDTOMENU structure */
666 } SFVMENUINFO
, * LPSFVMENUINFO
;
668 /* SFVCB_GETTOOLBARINFO structure */
673 } SFVTOOLBARINFO
, * LPSFVTOOLBARINFO
;
675 /* SFVTOOLBARINFO flags */
679 SFVTI_ADDTOFRONT
= 1,
683 /* SFVCB_SELECTIONCHANGED structure */
690 } SFVSELECTSTATE
, * LPSFVSELECTSTATE
;
691 typedef const SFVSELECTSTATE
* LPCSFVSELECTSTATE
;
693 /* SFVCB_COPYHOOKCALLBACK structure */
703 } SFVCOPYHOOKINFO
, * LPSFVCOPYHOOKINFO
;
704 typedef const SFVCOPYHOOKINFO
* LPCSFVCOPYHOOKINFO
;
706 /* SFVCB_GETDETAILSOF structure */
713 } SFVCOLUMNINFO
, * LPSFVCOLUMNINFO
;
715 int WINAPI
SHShellFolderView_Message(
720 /* SHShellFolderView_Message messages */
721 #define SFVM_REARRANGE 0x0001
722 #define SFVM_GETARRANGECOLUMN 0x0002
723 #define SFVM_ADDOBJECT 0x0003
724 #define SFVM_GETITEMCOUNT 0x0004
725 #define SFVM_GETITEMPIDL 0x0005
726 #define SFVM_REMOVEOBJECT 0x0006
727 #define SFVM_UPDATEOBJECT 0x0007
728 #define SFVM_SETREDRAW 0x0008
729 #define SFVM_GETSELECTEDOBJECTS 0x0009
730 #define SFVM_ISDROPONSOURCE 0x000A
731 #define SFVM_MOVEICONS 0x000B
732 #define SFVM_GETDRAGPOINT 0x000C
733 #define SFVM_GETDROPPOINT 0x000D
734 #define SFVM_SETOBJECTPOS 0x000E
735 #define SFVM_ISDROPONBACKGROUND 0x000F
736 #define SFVM_CUTOBJECTS 0x0010
737 #define SFVM_TOGGLEAUTOARRANGE 0x0011
738 #define SFVM_LINEUPICONS 0x0012
739 #define SFVM_GETAUTOARRANGE 0x0013
740 #define SFVM_GETSELECTEDCOUNT 0x0014
741 #define SFVM_GETITEMSPACING 0x0015
742 #define SFVM_REFRESHOBJECT 0x0016
743 #define SFVM_SETCLIPBOARDPOINTS 0x0017
745 /****************************************************************************
749 /* SHWaitForFileToOpen flags */
750 #define SHWFF_ADD 0x01
751 #define SHWFF_REMOVE 0x02
752 #define SHWFF_WAIT 0x04
754 BOOL WINAPI
SHWaitForFileToOpen(
759 WORD WINAPI
ArrangeWindows(
764 CONST HWND
* lpKids
);
766 /* RegisterShellHook types */
767 #define RSH_DEREGISTER 0
768 #define RSH_REGISTER 1
769 #define RSH_REGISTER_PROGMAN 2
770 #define RSH_REGISTER_TASKMAN 3
772 BOOL WINAPI
RegisterShellHook(
776 /* SHCreateDefClassObject callback function */
777 typedef HRESULT (CALLBACK
*LPFNCDCOCALLBACK
)(
782 HRESULT WINAPI
SHCreateDefClassObject(
785 LPFNCDCOCALLBACK lpfnCallback
,
789 DWORD WINAPI
SHCLSIDFromStringA (LPCSTR clsid
, CLSID
*id
);
790 DWORD WINAPI
SHCLSIDFromStringW (LPCWSTR clsid
, CLSID
*id
);
792 void WINAPI
SHFreeUnusedLibraries();
794 /* SHCreateLinks flags */
795 #define SHCLF_PREFIXNAME 0x01
796 #define SHCLF_CREATEONDESKTOP 0x02
798 HRESULT WINAPI
SHCreateLinks(
801 LPDATAOBJECT lpDataObject
,
803 LPITEMIDLIST
*lppidlLinks
);
805 /* SHGetNewLinkInfo flags */
806 #define SHGNLI_PIDL 0x01
807 #define SHGNLI_PREFIXNAME 0x02
808 #define SHGNLI_NOUNIQUE 0x04
810 BOOL WINAPI
SHGetNewLinkInfoA(
817 BOOL WINAPI
SHGetNewLinkInfoW(
823 #define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo)
825 DWORD WINAPI
CheckEscapesA(LPSTR string
, DWORD len
);
826 DWORD WINAPI
CheckEscapesW(LPWSTR string
, DWORD len
);
828 /* policy functions */
829 BOOL WINAPI
SHInitRestricted(LPCVOID unused
, LPCVOID inpRegKey
);
831 /* cabinet functions */
833 #include "pshpack1.h"
838 BOOL fFullPathTitle
:1;
839 BOOL fSaveLocalView
:1;
841 BOOL fSimpleDefault
:1;
842 BOOL fDontShowDescBar
:1;
843 BOOL fNewWindowMode
:1;
844 BOOL fShowCompColor
:1;
845 BOOL fDontPrettyNames
:1;
846 BOOL fAdminsCreateCommonGroups
:1;
848 UINT fMenuEnumFilter
;
853 BOOL WINAPI
ReadCabinetState(CABINETSTATE
*, int);
854 BOOL WINAPI
WriteCabinetState(CABINETSTATE
*);
858 #endif /* defined(__cplusplus) */
860 #endif /* __WINE_UNDOCSHELL_H */