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 LPITEMIDLIST WINAPI ILClone (LPCITEMIDLIST pidl);
38 LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl);
40 LPITEMIDLIST WINAPI ILCombine(
44 DWORD WINAPI ILGetSize(LPCITEMIDLIST pidl);
46 LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST pidl);
47 LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST pidl);
48 BOOL WINAPI ILRemoveLastID(LPCITEMIDLIST pidl);
50 LPITEMIDLIST WINAPI ILFindChild(
54 LPITEMIDLIST WINAPI ILAppendID(
59 BOOL WINAPI ILIsEqual(
63 BOOL WINAPI ILIsParent(
64 LPCITEMIDLIST pidlParent,
65 LPCITEMIDLIST pidlChild,
68 BOOL WINAPI ILGetDisplayName(
72 /* type parameter for ILGetDisplayNameEx() */
73 #define ILGDN_FORPARSING 0
74 #define ILGDN_NORMAL 1
75 #define ILGDN_INFOLDER 2
77 BOOL WINAPI ILGetDisplayNameEx(
83 DWORD WINAPI ILFree(LPITEMIDLIST pidl);
85 HRESULT WINAPI ILSaveToStream(
89 HRESULT WINAPI ILLoadFromStream(
93 LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl);
94 void WINAPI ILGlobalFree(LPITEMIDLIST pidl);
96 LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPCSTR lpszPath);
97 LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPCWSTR lpszPath);
98 LPITEMIDLIST WINAPI SHSimpleIDListFromPathAW (LPCVOID lpszPath);
100 HRESULT WINAPI SHILCreateFromPathA (
102 LPITEMIDLIST * ppidl,
105 HRESULT WINAPI SHILCreateFromPathW (
107 LPITEMIDLIST * ppidl,
110 HRESULT WINAPI SHILCreateFromPathAW (
112 LPITEMIDLIST * ppidl,
115 LPITEMIDLIST WINAPI ILCreateFromPathA(LPCSTR path);
116 LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR path);
117 LPITEMIDLIST WINAPI ILCreateFromPathAW(LPCVOID path);
122 HRESULT WINAPI StrRetToStrNA (
126 const ITEMIDLIST *pidl);
128 HRESULT WINAPI StrRetToStrNW (
132 const ITEMIDLIST *pidl);
134 HRESULT WINAPI StrRetToStrNAW (
138 const ITEMIDLIST *pidl);
141 /****************************************************************************
142 * SHChangeNotifyRegister API
144 #define SHCNRF_InterruptLevel 0x0001
145 #define SHCNRF_ShellLevel 0x0002
146 #define SHCNRF_RecursiveInterrupt 0x1000 /* Must be combined with SHCNRF_InterruptLevel */
147 #define SHCNRF_NewDelivery 0x8000 /* Messages use shared memory */
149 /****************************************************************************
150 * Shell Common Dialogs
153 BOOL WINAPI PickIconDlg(
157 LPDWORD lpdwIconIndex);
159 /* RunFileDlg flags */
160 #define RFF_NOBROWSE 0x01
161 #define RFF_NODEFAULT 0x02
162 #define RFF_CALCDIRECTORY 0x04
163 #define RFF_NOLABEL 0x08
164 #define RFF_NOSEPARATEMEM 0x20 /* NT only */
166 /* RunFileFlg notification structure */
173 } NM_RUNFILEDLG, * LPNM_RUNFILEDLG;
175 /* RunFileDlg notification return values */
177 #define RF_CANCEL 0x01
178 #define RF_RETRY 0x02
180 void WINAPI RunFileDlg(
183 LPCSTR lpstrDirectory,
185 LPCSTR lpstrDescription,
188 void WINAPI ExitWindowsDialog(HWND hwndOwner);
190 int WINAPI RestartDialog(
195 BOOL WINAPI GetFileNameFromBrowse(
199 LPCSTR lpstrInitialDir,
204 BOOL WINAPI SHFindFiles(
205 LPCITEMIDLIST pidlRoot,
206 LPCITEMIDLIST pidlSavedSearch);
208 BOOL WINAPI SHFindComputer(
209 LPCITEMIDLIST pidlRoot,
210 LPCITEMIDLIST pidlSavedSearch);
212 /* SHObjectProperties flags */
213 #define OPF_PRINTERNAME 0x01
214 #define OPF_PATHNAME 0x02
216 BOOL WINAPI SHObjectProperties(
220 LPCSTR lpstrParameters);
222 void WINAPI SHHandleDiskFull(HWND hwndOwner,
225 int WINAPI SHOutOfMemoryMessageBox(
230 DWORD WINAPI SHNetConnectionDialog(
232 LPCSTR lpstrRemoteName,
235 int WINAPIV ShellMessageBoxA(
243 int WINAPIV ShellMessageBoxW(
251 #define ShellMessageBox WINELIB_NAME_AW(ShellMessageBox)
253 /****************************************************************************
257 LPVOID WINAPI SHAlloc(ULONG cb);
258 void WINAPI SHFree(LPVOID pv);
260 HANDLE WINAPI SHAllocShared(
265 BOOL WINAPI SHFreeShared(
269 LPVOID WINAPI SHLockShared(
273 BOOL WINAPI SHUnlockShared(LPVOID pv);
275 /****************************************************************************
276 * Cabinet Window Messages
279 #define CWM_SETPATH (WM_USER + 2)
280 #define CWM_WANTIDLE (WM_USER + 3)
281 #define CWM_GETSETCURRENTINFO (WM_USER + 4)
282 #define CWM_SELECTITEM (WM_USER + 5)
283 #define CWM_SELECTITEMSTR (WM_USER + 6)
284 #define CWM_GETISHELLBROWSER (WM_USER + 7)
285 #define CWM_TESTPATH (WM_USER + 9)
286 #define CWM_STATECHANGE (WM_USER + 10)
287 #define CWM_GETPATH (WM_USER + 12)
289 /* CWM_TESTPATH types */
290 #define CWTP_ISEQUAL 0
291 #define CWTP_ISCHILD 1
293 /* CWM_TESTPATH structure */
298 } CWTESTPATHSTRUCT,* LPCWTESTPATHSTRUCT;
300 /****************************************************************************
301 * System Imagelist Routines
304 int WINAPI Shell_GetCachedImageIndex(
309 BOOL WINAPI Shell_GetImageLists(
310 HIMAGELIST *lphimlLarge,
311 HIMAGELIST *lphimlSmall);
313 HICON WINAPI SHGetFileIcon(
316 DWORD dwFileAttributes,
319 int WINAPI SHMapPIDLToSystemImageListIndex(
324 BOOL WINAPI FileIconInit(BOOL bFullInit);
326 /****************************************************************************
329 /* FileMenu_Create nSelHeight constants */
330 #define FM_DEFAULT_SELHEIGHT -1
331 #define FM_FULL_SELHEIGHT 0
333 /* FileMenu_Create flags */
334 #define FMF_SMALL_ICONS 0x00
335 #define FMF_LARGE_ICONS 0x08
336 #define FMF_NO_COLUMN_BREAK 0x10
338 HMENU WINAPI FileMenu_Create(
339 COLORREF crBorderColor,
345 void WINAPI FileMenu_Destroy(HMENU hMenu);
347 /* FileMenu_AppendItem constants */
348 #define FM_SEPARATOR (LPCSTR)1
349 #define FM_BLANK_ICON -1
350 #define FM_DEFAULT_HEIGHT 0
352 BOOL WINAPI FileMenu_AppendItem(
360 /* FileMenu_InsertUsingPidl flags */
361 #define FMF_NO_EMPTY_ITEM 0x01
362 #define FMF_NO_PROGRAM_GROUPS 0x04
364 /* FileMenu_InsertUsingPidl callback function */
365 typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
367 int WINAPI FileMenu_InsertUsingPidl(
373 LPFNFMCALLBACK lpfnCallback);
375 int WINAPI FileMenu_ReplaceUsingPidl(
380 LPFNFMCALLBACK lpfnCallback);
382 void WINAPI FileMenu_Invalidate(HMENU hMenu);
384 HMENU WINAPI FileMenu_FindSubMenuByPidl(
388 BOOL WINAPI FileMenu_TrackPopupMenuEx(
396 BOOL WINAPI FileMenu_GetLastSelectedItemPidls(
398 LPCITEMIDLIST *ppidlFolder,
399 LPCITEMIDLIST *ppidlItem);
401 LRESULT WINAPI FileMenu_MeasureItem(
403 LPMEASUREITEMSTRUCT lpmis);
405 LRESULT WINAPI FileMenu_DrawItem(
407 LPDRAWITEMSTRUCT lpdis);
409 BOOL WINAPI FileMenu_InitMenuPopup(HMENU hMenu);
411 void WINAPI FileMenu_AbortInitMenu(void);
413 LRESULT WINAPI FileMenu_HandleMenuChar(
417 BOOL WINAPI FileMenu_DeleteAllItems(HMENU hMenu);
419 BOOL WINAPI FileMenu_DeleteItemByCmd(
423 BOOL WINAPI FileMenu_DeleteItemByIndex(
427 BOOL WINAPI FileMenu_DeleteMenuItemByFirstID(
431 BOOL WINAPI FileMenu_DeleteSeparator(HMENU hMenu);
433 BOOL WINAPI FileMenu_EnableItemByCmd(
438 DWORD WINAPI FileMenu_GetItemExtent(
442 int WINAPI FileMenu_AppendFilesForPidl(
447 int WINAPI FileMenu_AddFilesForPidl(
454 LPFNFMCALLBACK lpfnCallback);
456 /****************************************************************************
457 * Drag And Drop Routines
459 HRESULT WINAPI SHLoadOLE(DWORD dwFlags);
461 HRESULT WINAPI SHRegisterDragDrop(
463 LPDROPTARGET lpDropTarget);
465 HRESULT WINAPI SHRevokeDragDrop(HWND hWnd);
467 HRESULT WINAPI SHDoDragDrop(
469 LPDATAOBJECT lpDataObject,
470 LPDROPSOURCE lpDropSource,
474 BOOL WINAPI DAD_DragEnter(HWND hWnd);
476 BOOL WINAPI DAD_DragEnterEx(
480 BOOL WINAPI DAD_DragMove(POINT pt);
482 /* DAD_AutoScroll return values */
483 #define DAD_SCROLL_UP 1
484 #define DAD_SCROLL_DOWN 2
485 #define DAD_SCROLL_LEFT 4
486 #define DAD_SCROLL_RIGHT 8
488 /* DAD_AutoScroll sample structure */
494 POINT aptPositions[3];
496 } SCROLLSAMPLES, *LPSCROLLSAMPLES;
498 DWORD WINAPI DAD_AutoScroll(HWND hWnd,
499 LPSCROLLSAMPLES lpSamples,
502 BOOL WINAPI DAD_DragLeave();
504 BOOL WINAPI DAD_SetDragImageFromListView(
508 BOOL WINAPI DAD_SetDragImage(
509 HIMAGELIST himlTrack,
512 BOOL WINAPI DAD_ShowDragImage(BOOL bShow);
514 HRESULT WINAPI SHCreateStdEnumFmtEtc(
516 const FORMATETC *lpFormats,
517 LPENUMFORMATETC *ppenumFormatetc);
519 HRESULT WINAPI CIDLData_CreateFromIDArray(
520 LPCITEMIDLIST pidlFolder,
522 LPCITEMIDLIST *lppidlFiles,
523 LPDATAOBJECT *ppdataObject);
525 /****************************************************************************
526 * Path Manipulation Routines
529 BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2);
531 LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
533 LPVOID WINAPI PathAddBackslashAW(LPVOID path);
535 LPVOID WINAPI PathBuildRootAW(LPVOID lpszPath, int drive);
537 LPVOID WINAPI PathFindExtensionAW(LPCVOID path);
539 LPVOID WINAPI PathFindFileNameAW(LPCVOID path);
541 LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath, DWORD void1, DWORD void2);
543 LPVOID WINAPI PathGetArgsAW(LPVOID lpszPath);
545 BOOL WINAPI PathRemoveFileSpecAW(LPVOID lpszPath);
547 void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
549 VOID WINAPI PathQuoteSpacesAW(LPVOID path);
551 void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath);
553 BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath);
555 BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath);
557 BOOL WINAPI PathIsRootAW(LPCVOID x);
559 BOOL WINAPI PathIsExeAW(LPCVOID lpszPath);
561 BOOL WINAPI PathIsDirectoryAW(LPCVOID lpszPath);
563 BOOL WINAPI PathFileExistsAW(LPCVOID lpszPath);
565 BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec);
567 BOOL WINAPI PathMakeUniqueNameAW(
570 LPCVOID lpszShortName,
571 LPCVOID lpszLongName,
572 LPCVOID lpszPathName);
574 BOOL WINAPI PathYetAnotherMakeUniqueName(
576 LPCWSTR lpszPathName,
577 LPCWSTR lpszShortName,
578 LPCWSTR lpszLongName);
580 /* PathCleanupSpec return values */
581 #define PCS_REPLACEDCHARS 0x00000001
582 #define PCS_REMOVEDCHARS 0x00000002
583 #define PCS_SHORTENED 0x00000004
584 #define PCS_PATHTOOLONG 0x80000008
586 DWORD WINAPI PathCleanupSpecAW(LPCVOID lpszPath, LPVOID lpszFile);
588 BOOL WINAPI PathQualifyA(LPCSTR path);
589 BOOL WINAPI PathQualifyW(LPCWSTR path);
590 #define PathQualify WINELIB_NAME_AW(PathQualify)
591 BOOL WINAPI PathQualifyAW(LPCVOID path);
594 /* PathResolve flags */
595 #define PRF_CHECKEXISTANCE 0x01
596 #define PRF_EXECUTABLE 0x02
597 #define PRF_QUALIFYONPATH 0x04
598 #define PRF_WINDOWS31 0x08
600 BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags);
602 VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath);
604 /* PathProcessCommand flags */
605 #define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
606 #define PPCF_INCLUDEARGS 0x02
607 #define PPCF_NODIRECTORIES 0x10
608 #define PPCF_DONTRESOLVE 0x20
609 #define PPCF_PATHISRELATIVE 0x40
611 HRESULT WINAPI PathProcessCommandAW(LPCVOID lpszPath, LPVOID lpszBuff,
612 DWORD dwBuffSize, DWORD dwFlags);
614 void WINAPI PathStripPathAW(LPVOID lpszPath);
616 BOOL WINAPI PathStripToRootAW(LPVOID lpszPath);
618 void WINAPI PathRemoveArgsAW(LPVOID lpszPath);
620 void WINAPI PathRemoveExtensionAW(LPVOID lpszPath);
622 int WINAPI PathParseIconLocationAW(LPVOID lpszPath);
624 BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2);
626 BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID sOtherDirs);
628 /****************************************************************************
629 * Shell Namespace Routines
632 /* SHCreateShellFolderViewEx callback function */
633 typedef HRESULT (CALLBACK *LPFNSFVCALLBACK)(
641 /* SHCreateShellFolderViewEx structure */
647 LPCITEMIDLIST pidlFolder;
649 LPFNSFVCALLBACK lpfnCallback;
651 } SHELLFOLDERVIEWINFO, * LPSHELLFOLDERVIEWINFO;
652 typedef const SHELLFOLDERVIEWINFO * LPCSHELLFOLDERVIEWINFO;
654 HRESULT WINAPI SHCreateShellFolderViewEx(
655 LPCSHELLFOLDERVIEWINFO pshfvi,
658 /* SHCreateShellFolderViewEx callback messages */
659 #define SFVCB_ADDTOMENU 0x0001
660 #define SFVCB_INVOKECOMMAND 0x0002
661 #define SFVCB_GETMENUHELP 0x0003
662 #define SFVCB_GETTOOLBARTIP 0x0004
663 #define SFVCB_GETTOOLBARINFO 0x0005
664 #define SFVCB_ADDTOOLBARITEMS 0x0006
665 #define SFVCB_INITMENUPOPUP 0x0007
666 #define SFVCB_SELECTIONCHANGED 0x0008
667 #define SFVCB_DRAWMENUITEM 0x0009
668 #define SFVCB_MEASUREMENUITEM 0x000A
669 #define SFVCB_EXITMENULOOP 0x000B
670 #define SFVCB_VIEWRELEASE 0x000C
671 #define SFVCB_GETNAMELENGTH 0x000D
672 #define SFVCB_CHANGENOTIFY 0x000E
673 #define SFVCB_WINDOWCREATED 0x000F
674 #define SFVCB_WINDOWCLOSING 0x0010
675 #define SFVCB_LISTREFRESHED 0x0011
676 #define SFVCB_WINDOWFOCUSED 0x0012
677 #define SFVCB_REGISTERCOPYHOOK 0x0014
678 #define SFVCB_COPYHOOKCALLBACK 0x0015
679 #define SFVCB_GETDETAILSOF 0x0017
680 #define SFVCB_COLUMNCLICK 0x0018
681 #define SFVCB_GETCHANGENOTIFYPIDL 0x0019
682 #define SFVCB_GETESTIMATEDCOUNT 0x001A
683 #define SFVCB_ADJUSTVIEWMODE 0x001B
684 #define SFVCB_REMOVEFROMMENU 0x001C
685 #define SFVCB_ADDINGOBJECT 0x001D
686 #define SFVCB_REMOVINGOBJECT 0x001E
687 #define SFVCB_UPDATESTATUSBAR 0x001F
688 #define SFVCB_ISSLOWREFRESH 0x0020
689 #define SFVCB_GETCOMMANDDIR 0x0021
690 #define SFVCB_GETCOLUMNSTREAM 0x0022
691 #define SFVCB_CANSELECTALL 0x0023
692 #define SFVCB_DRAGSUCCEEDED 0x0024
693 #define SFVCB_ISSTRICTREFRESH 0x0025
694 #define SFVCB_ISCHILDOBJECT 0x0026
696 /* Generic structure used by several messages */
703 } SFVCBINFO, * LPSFVCBINFO;
704 typedef const SFVCBINFO * LPCSFVCBINFO;
706 /* SFVCB_ADDTOMENU structure */
713 } SFVMENUINFO, * LPSFVMENUINFO;
715 /* SFVCB_GETTOOLBARINFO structure */
720 } SFVTOOLBARINFO, * LPSFVTOOLBARINFO;
722 /* SFVTOOLBARINFO flags */
726 SFVTI_ADDTOFRONT = 1,
730 /* SFVCB_SELECTIONCHANGED structure */
737 } SFVSELECTSTATE, * LPSFVSELECTSTATE;
738 typedef const SFVSELECTSTATE * LPCSFVSELECTSTATE;
740 /* SFVCB_COPYHOOKCALLBACK structure */
750 } SFVCOPYHOOKINFO, * LPSFVCOPYHOOKINFO;
751 typedef const SFVCOPYHOOKINFO * LPCSFVCOPYHOOKINFO;
753 /* SFVCB_GETDETAILSOF structure */
760 } SFVCOLUMNINFO, * LPSFVCOLUMNINFO;
762 int WINAPI SHShellFolderView_Message(
767 /* SHShellFolderView_Message messages */
768 #define SFVM_REARRANGE 0x0001
769 #define SFVM_GETARRANGECOLUMN 0x0002
770 #define SFVM_ADDOBJECT 0x0003
771 #define SFVM_GETITEMCOUNT 0x0004
772 #define SFVM_GETITEMPIDL 0x0005
773 #define SFVM_REMOVEOBJECT 0x0006
774 #define SFVM_UPDATEOBJECT 0x0007
775 #define SFVM_SETREDRAW 0x0008
776 #define SFVM_GETSELECTEDOBJECTS 0x0009
777 #define SFVM_ISDROPONSOURCE 0x000A
778 #define SFVM_MOVEICONS 0x000B
779 #define SFVM_GETDRAGPOINT 0x000C
780 #define SFVM_GETDROPPOINT 0x000D
781 #define SFVM_SETOBJECTPOS 0x000E
782 #define SFVM_ISDROPONBACKGROUND 0x000F
783 #define SFVM_CUTOBJECTS 0x0010
784 #define SFVM_TOGGLEAUTOARRANGE 0x0011
785 #define SFVM_LINEUPICONS 0x0012
786 #define SFVM_GETAUTOARRANGE 0x0013
787 #define SFVM_GETSELECTEDCOUNT 0x0014
788 #define SFVM_GETITEMSPACING 0x0015
789 #define SFVM_REFRESHOBJECT 0x0016
790 #define SFVM_SETCLIPBOARDPOINTS 0x0017
792 /****************************************************************************
796 /* SHWaitForFileToOpen flags */
797 #define SHWFF_ADD 0x01
798 #define SHWFF_REMOVE 0x02
799 #define SHWFF_WAIT 0x04
801 BOOL WINAPI SHWaitForFileToOpen(
806 WORD WINAPI ArrangeWindows(
811 CONST HWND * lpKids);
813 /* RegisterShellHook types */
814 #define RSH_DEREGISTER 0
815 #define RSH_REGISTER 1
816 #define RSH_REGISTER_PROGMAN 2
817 #define RSH_REGISTER_TASKMAN 3
819 BOOL WINAPI RegisterShellHook(
823 /* SHCreateDefClassObject callback function */
824 typedef HRESULT (CALLBACK *LPFNCDCOCALLBACK)(
829 HRESULT WINAPI SHCreateDefClassObject(
832 LPFNCDCOCALLBACK lpfnCallback,
836 DWORD WINAPI SHCLSIDFromStringA (LPCSTR clsid, CLSID *id);
837 DWORD WINAPI SHCLSIDFromStringW (LPCWSTR clsid, CLSID *id);
839 void WINAPI SHFreeUnusedLibraries();
841 /* SHCreateLinks flags */
842 #define SHCLF_PREFIXNAME 0x01
843 #define SHCLF_CREATEONDESKTOP 0x02
845 HRESULT WINAPI SHCreateLinks(
848 LPDATAOBJECT lpDataObject,
850 LPITEMIDLIST *lppidlLinks);
852 /* SHGetNewLinkInfo flags */
853 #define SHGNLI_PIDL 0x01
854 #define SHGNLI_PREFIXNAME 0x02
855 #define SHGNLI_NOUNIQUE 0x04
857 BOOL WINAPI SHGetNewLinkInfoA(
864 BOOL WINAPI SHGetNewLinkInfoW(
870 #define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo)
872 DWORD WINAPI CheckEscapesA(LPSTR string, DWORD len);
873 DWORD WINAPI CheckEscapesW(LPWSTR string, DWORD len);
875 /* policy functions */
876 BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey);
878 /* cabinet functions */
880 #include "pshpack1.h"
885 BOOL fFullPathTitle:1;
886 BOOL fSaveLocalView:1;
888 BOOL fSimpleDefault:1;
889 BOOL fDontShowDescBar:1;
890 BOOL fNewWindowMode:1;
891 BOOL fShowCompColor:1;
892 BOOL fDontPrettyNames:1;
893 BOOL fAdminsCreateCommonGroups:1;
895 UINT fMenuEnumFilter;
900 BOOL WINAPI ReadCabinetState(CABINETSTATE *, int);
901 BOOL WINAPI WriteCabinetState(CABINETSTATE *);
905 #endif /* defined(__cplusplus) */
907 #endif /* __WINE_UNDOCSHELL_H */