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 LPVOID WINAPI PathGetShortPathAW(LPVOID lpszPath);
549 void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
551 VOID WINAPI PathQuoteSpacesAW(LPVOID path);
553 void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath);
555 BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath);
557 BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath);
559 BOOL WINAPI PathIsRootAW(LPCVOID x);
561 BOOL WINAPI PathIsExeAW(LPCVOID lpszPath);
563 BOOL WINAPI PathIsDirectoryAW(LPCVOID lpszPath);
565 BOOL WINAPI PathFileExistsAW(LPCVOID lpszPath);
567 BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec);
569 BOOL WINAPI PathMakeUniqueNameAW(
572 LPCVOID lpszShortName,
573 LPCVOID lpszLongName,
574 LPCVOID lpszPathName);
576 BOOL WINAPI PathYetAnotherMakeUniqueNameA(
579 LPCSTR lpszShortName,
580 LPCSTR lpszLongName);
582 /* PathCleanupSpec return values */
583 #define PCS_REPLACEDCHARS 0x00000001
584 #define PCS_REMOVEDCHARS 0x00000002
585 #define PCS_SHORTENED 0x00000004
586 #define PCS_PATHTOOLONG 0x80000008
588 DWORD WINAPI PathCleanupSpecAW(LPCVOID lpszPath, LPVOID lpszFile);
590 BOOL WINAPI PathQualifyA(LPCSTR path);
591 BOOL WINAPI PathQualifyW(LPCWSTR path);
592 #define PathQualify WINELIB_NAME_AW(PathQualify)
593 BOOL WINAPI PathQualifyAW(LPCVOID path);
596 /* PathResolve flags */
597 #define PRF_CHECKEXISTANCE 0x01
598 #define PRF_EXECUTABLE 0x02
599 #define PRF_QUALIFYONPATH 0x04
600 #define PRF_WINDOWS31 0x08
602 BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags);
604 VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath);
606 /* PathProcessCommand flags */
607 #define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
608 #define PPCF_INCLUDEARGS 0x02
609 #define PPCF_NODIRECTORIES 0x10
610 #define PPCF_DONTRESOLVE 0x20
611 #define PPCF_PATHISRELATIVE 0x40
613 HRESULT WINAPI PathProcessCommandAW(LPCVOID lpszPath, LPVOID lpszBuff,
614 DWORD dwBuffSize, DWORD dwFlags);
616 void WINAPI PathStripPathAW(LPVOID lpszPath);
618 BOOL WINAPI PathStripToRootAW(LPVOID lpszPath);
620 void WINAPI PathRemoveArgsAW(LPVOID lpszPath);
622 void WINAPI PathRemoveExtensionAW(LPVOID lpszPath);
624 int WINAPI PathParseIconLocationAW(LPVOID lpszPath);
626 BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2);
628 BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID sOtherDirs);
630 /****************************************************************************
631 * Shell Namespace Routines
634 /* SHCreateShellFolderViewEx callback function */
635 typedef HRESULT (CALLBACK *LPFNSFVCALLBACK)(
643 /* SHCreateShellFolderViewEx structure */
649 LPCITEMIDLIST pidlFolder;
651 LPFNSFVCALLBACK lpfnCallback;
653 } SHELLFOLDERVIEWINFO, * LPSHELLFOLDERVIEWINFO;
654 typedef const SHELLFOLDERVIEWINFO * LPCSHELLFOLDERVIEWINFO;
656 HRESULT WINAPI SHCreateShellFolderViewEx(
657 LPCSHELLFOLDERVIEWINFO pshfvi,
660 /* SHCreateShellFolderViewEx callback messages */
661 #define SFVCB_ADDTOMENU 0x0001
662 #define SFVCB_INVOKECOMMAND 0x0002
663 #define SFVCB_GETMENUHELP 0x0003
664 #define SFVCB_GETTOOLBARTIP 0x0004
665 #define SFVCB_GETTOOLBARINFO 0x0005
666 #define SFVCB_ADDTOOLBARITEMS 0x0006
667 #define SFVCB_INITMENUPOPUP 0x0007
668 #define SFVCB_SELECTIONCHANGED 0x0008
669 #define SFVCB_DRAWMENUITEM 0x0009
670 #define SFVCB_MEASUREMENUITEM 0x000A
671 #define SFVCB_EXITMENULOOP 0x000B
672 #define SFVCB_VIEWRELEASE 0x000C
673 #define SFVCB_GETNAMELENGTH 0x000D
674 #define SFVCB_CHANGENOTIFY 0x000E
675 #define SFVCB_WINDOWCREATED 0x000F
676 #define SFVCB_WINDOWCLOSING 0x0010
677 #define SFVCB_LISTREFRESHED 0x0011
678 #define SFVCB_WINDOWFOCUSED 0x0012
679 #define SFVCB_REGISTERCOPYHOOK 0x0014
680 #define SFVCB_COPYHOOKCALLBACK 0x0015
681 #define SFVCB_GETDETAILSOF 0x0017
682 #define SFVCB_COLUMNCLICK 0x0018
683 #define SFVCB_GETCHANGENOTIFYPIDL 0x0019
684 #define SFVCB_GETESTIMATEDCOUNT 0x001A
685 #define SFVCB_ADJUSTVIEWMODE 0x001B
686 #define SFVCB_REMOVEFROMMENU 0x001C
687 #define SFVCB_ADDINGOBJECT 0x001D
688 #define SFVCB_REMOVINGOBJECT 0x001E
689 #define SFVCB_UPDATESTATUSBAR 0x001F
690 #define SFVCB_ISSLOWREFRESH 0x0020
691 #define SFVCB_GETCOMMANDDIR 0x0021
692 #define SFVCB_GETCOLUMNSTREAM 0x0022
693 #define SFVCB_CANSELECTALL 0x0023
694 #define SFVCB_DRAGSUCCEEDED 0x0024
695 #define SFVCB_ISSTRICTREFRESH 0x0025
696 #define SFVCB_ISCHILDOBJECT 0x0026
698 /* Generic structure used by several messages */
705 } SFVCBINFO, * LPSFVCBINFO;
706 typedef const SFVCBINFO * LPCSFVCBINFO;
708 /* SFVCB_ADDTOMENU structure */
715 } SFVMENUINFO, * LPSFVMENUINFO;
717 /* SFVCB_GETTOOLBARINFO structure */
722 } SFVTOOLBARINFO, * LPSFVTOOLBARINFO;
724 /* SFVTOOLBARINFO flags */
728 SFVTI_ADDTOFRONT = 1,
732 /* SFVCB_SELECTIONCHANGED structure */
739 } SFVSELECTSTATE, * LPSFVSELECTSTATE;
740 typedef const SFVSELECTSTATE * LPCSFVSELECTSTATE;
742 /* SFVCB_COPYHOOKCALLBACK structure */
752 } SFVCOPYHOOKINFO, * LPSFVCOPYHOOKINFO;
753 typedef const SFVCOPYHOOKINFO * LPCSFVCOPYHOOKINFO;
755 /* SFVCB_GETDETAILSOF structure */
762 } SFVCOLUMNINFO, * LPSFVCOLUMNINFO;
764 int WINAPI SHShellFolderView_Message(
769 /* SHShellFolderView_Message messages */
770 #define SFVM_REARRANGE 0x0001
771 #define SFVM_GETARRANGECOLUMN 0x0002
772 #define SFVM_ADDOBJECT 0x0003
773 #define SFVM_GETITEMCOUNT 0x0004
774 #define SFVM_GETITEMPIDL 0x0005
775 #define SFVM_REMOVEOBJECT 0x0006
776 #define SFVM_UPDATEOBJECT 0x0007
777 #define SFVM_SETREDRAW 0x0008
778 #define SFVM_GETSELECTEDOBJECTS 0x0009
779 #define SFVM_ISDROPONSOURCE 0x000A
780 #define SFVM_MOVEICONS 0x000B
781 #define SFVM_GETDRAGPOINT 0x000C
782 #define SFVM_GETDROPPOINT 0x000D
783 #define SFVM_SETOBJECTPOS 0x000E
784 #define SFVM_ISDROPONBACKGROUND 0x000F
785 #define SFVM_CUTOBJECTS 0x0010
786 #define SFVM_TOGGLEAUTOARRANGE 0x0011
787 #define SFVM_LINEUPICONS 0x0012
788 #define SFVM_GETAUTOARRANGE 0x0013
789 #define SFVM_GETSELECTEDCOUNT 0x0014
790 #define SFVM_GETITEMSPACING 0x0015
791 #define SFVM_REFRESHOBJECT 0x0016
792 #define SFVM_SETCLIPBOARDPOINTS 0x0017
794 /****************************************************************************
798 /* SHWaitForFileToOpen flags */
799 #define SHWFF_ADD 0x01
800 #define SHWFF_REMOVE 0x02
801 #define SHWFF_WAIT 0x04
803 BOOL WINAPI SHWaitForFileToOpen(
808 WORD WINAPI ArrangeWindows(
813 CONST HWND * lpKids);
815 /* RegisterShellHook types */
816 #define RSH_DEREGISTER 0
817 #define RSH_REGISTER 1
818 #define RSH_REGISTER_PROGMAN 2
819 #define RSH_REGISTER_TASKMAN 3
821 BOOL WINAPI RegisterShellHook(
825 /* SHCreateDefClassObject callback function */
826 typedef HRESULT (CALLBACK *LPFNCDCOCALLBACK)(
831 HRESULT WINAPI SHCreateDefClassObject(
834 LPFNCDCOCALLBACK lpfnCallback,
838 DWORD WINAPI SHCLSIDFromStringA (LPCSTR clsid, CLSID *id);
839 DWORD WINAPI SHCLSIDFromStringW (LPCWSTR clsid, CLSID *id);
841 void WINAPI SHFreeUnusedLibraries();
843 /* SHCreateLinks flags */
844 #define SHCLF_PREFIXNAME 0x01
845 #define SHCLF_CREATEONDESKTOP 0x02
847 HRESULT WINAPI SHCreateLinks(
850 LPDATAOBJECT lpDataObject,
852 LPITEMIDLIST *lppidlLinks);
854 /* SHGetNewLinkInfo flags */
855 #define SHGNLI_PIDL 0x01
856 #define SHGNLI_PREFIXNAME 0x02
857 #define SHGNLI_NOUNIQUE 0x04
859 BOOL WINAPI SHGetNewLinkInfoA(
866 BOOL WINAPI SHGetNewLinkInfoW(
872 #define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo)
874 DWORD WINAPI CheckEscapesA(LPSTR string, DWORD len);
875 DWORD WINAPI CheckEscapesW(LPWSTR string, DWORD len);
877 /* policy functions */
878 BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey);
880 /* cabinet functions */
882 #include "pshpack1.h"
887 BOOL fFullPathTitle:1;
888 BOOL fSaveLocalView:1;
890 BOOL fSimpleDefault:1;
891 BOOL fDontShowDescBar:1;
892 BOOL fNewWindowMode:1;
893 BOOL fShowCompColor:1;
894 BOOL fDontPrettyNames:1;
895 BOOL fAdminsCreateCommonGroups:1;
897 UINT fMenuEnumFilter;
902 BOOL WINAPI ReadCabinetState(CABINETSTATE *, int);
903 BOOL WINAPI WriteCabinetState(CABINETSTATE *);
907 #endif /* defined(__cplusplus) */
909 #endif /* __WINE_UNDOCSHELL_H */