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
28 #endif /* defined(__cplusplus) */
30 /****************************************************************************
33 LPITEMIDLIST WINAPI ILClone (LPCITEMIDLIST pidl);
34 LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl);
36 LPITEMIDLIST WINAPI ILCombine(
40 DWORD WINAPI ILGetSize(LPITEMIDLIST pidl);
42 LPITEMIDLIST WINAPI ILGetNext(LPITEMIDLIST pidl);
43 LPITEMIDLIST WINAPI ILFindLastID(LPITEMIDLIST pidl);
44 BOOL WINAPI ILRemoveLastID(LPCITEMIDLIST pidl);
46 LPITEMIDLIST WINAPI ILFindChild(
50 LPITEMIDLIST WINAPI ILAppendID(
55 BOOL WINAPI ILIsEqual(
59 BOOL WINAPI ILIsParent(
60 LPCITEMIDLIST pidlParent,
61 LPCITEMIDLIST pidlChild,
64 BOOL WINAPI ILGetDisplayName(
68 DWORD WINAPI ILFree(LPITEMIDLIST pidl);
70 HRESULT WINAPI ILSaveToStream(
74 HRESULT WINAPI ILLoadFromStream(
78 LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl);
79 void WINAPI ILGlobalFree(LPCITEMIDLIST pidl);
81 LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPCSTR lpszPath);
82 LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPCWSTR lpszPath);
83 LPITEMIDLIST WINAPI SHSimpleIDListFromPathAW (LPCVOID lpszPath);
85 HRESULT WINAPI SHILCreateFromPathA (
90 HRESULT WINAPI SHILCreateFromPathW (
95 HRESULT WINAPI SHILCreateFromPathAW (
100 LPITEMIDLIST WINAPI ILCreateFromPathA(LPCSTR path);
101 LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR path);
102 LPITEMIDLIST WINAPI ILCreateFromPathAW(LPCVOID path);
104 HRESULT WINAPI SHBindToParent(
108 LPCITEMIDLIST *ppidlLast);
113 HRESULT WINAPI StrRetToStrNA (
117 const ITEMIDLIST *pidl);
119 HRESULT WINAPI StrRetToStrNW (
123 const ITEMIDLIST *pidl);
125 HRESULT WINAPI StrRetToStrNAW (
129 const ITEMIDLIST *pidl);
132 /****************************************************************************
133 * SHChangeNotifyRegister API
135 #define SHCNF_ACCEPT_INTERRUPTS 0x0001
136 #define SHCNF_ACCEPT_NON_INTERRUPTS 0x0002
137 #define SHCNF_NO_PROXY 0x8001
141 LPCITEMIDLIST pidlPath;
143 } NOTIFYREGISTER, *LPNOTIFYREGISTER;
145 typedef const LPNOTIFYREGISTER LPCNOTIFYREGISTER;
154 HANDLE WINAPI SHChangeNotifyRegister(
160 LPCNOTIFYREGISTER lpItems);
162 BOOL WINAPI SHChangeNotifyDeregister(HANDLE hNotify);
164 HANDLE WINAPI SHChangeNotification_Lock(
167 LPCITEMIDLIST **lppidls,
170 BOOL WINAPI SHChangeNotification_Unlock(HANDLE hLock);
172 /****************************************************************************
173 * Shell Common Dialogs
176 BOOL WINAPI PickIconDlg(
180 LPDWORD lpdwIconIndex);
182 /* RunFileDlg flags */
183 #define RFF_NOBROWSE 0x01
184 #define RFF_NODEFAULT 0x02
185 #define RFF_CALCDIRECTORY 0x04
186 #define RFF_NOLABEL 0x08
187 #define RFF_NOSEPARATEMEM 0x20 /* NT only */
189 /* RunFileFlg notification structure */
196 } NM_RUNFILEDLG, * LPNM_RUNFILEDLG;
198 /* RunFileDlg notification return values */
200 #define RF_CANCEL 0x01
201 #define RF_RETRY 0x02
203 void WINAPI RunFileDlg(
206 LPCSTR lpstrDirectory,
208 LPCSTR lpstrDescription,
211 void WINAPI ExitWindowsDialog(HWND hwndOwner);
213 int WINAPI RestartDialog(
218 BOOL WINAPI GetFileNameFromBrowse(
222 LPCSTR lpstrInitialDir,
227 BOOL WINAPI SHFindFiles(
228 LPCITEMIDLIST pidlRoot,
229 LPCITEMIDLIST pidlSavedSearch);
231 BOOL WINAPI SHFindComputer(
232 LPCITEMIDLIST pidlRoot,
233 LPCITEMIDLIST pidlSavedSearch);
235 /* SHObjectProperties flags */
236 #define OPF_PRINTERNAME 0x01
237 #define OPF_PATHNAME 0x02
239 BOOL WINAPI SHObjectProperties(
243 LPCSTR lpstrParameters);
245 void WINAPI SHHandleDiskFull(HWND hwndOwner,
248 int WINAPI SHOutOfMemoryMessageBox(
253 DWORD WINAPI SHNetConnectionDialog(
255 LPCSTR lpstrRemoteName,
258 int WINAPIV ShellMessageBoxA(
266 int WINAPIV ShellMessageBoxW(
274 #define ShellMessageBox WINELIB_NAME_AW(ShellMessageBox)
276 /****************************************************************************
280 LPVOID WINAPI SHAlloc(ULONG cb);
281 void WINAPI SHFree(LPVOID pv);
283 HANDLE WINAPI SHAllocShared(
288 BOOL WINAPI SHFreeShared(
292 LPVOID WINAPI SHLockShared(
296 BOOL WINAPI SHUnlockShared(LPVOID pv);
298 /****************************************************************************
299 * Cabinet Window Messages
302 #define CWM_SETPATH (WM_USER + 2)
303 #define CWM_WANTIDLE (WM_USER + 3)
304 #define CWM_GETSETCURRENTINFO (WM_USER + 4)
305 #define CWM_SELECTITEM (WM_USER + 5)
306 #define CWM_SELECTITEMSTR (WM_USER + 6)
307 #define CWM_GETISHELLBROWSER (WM_USER + 7)
308 #define CWM_TESTPATH (WM_USER + 9)
309 #define CWM_STATECHANGE (WM_USER + 10)
310 #define CWM_GETPATH (WM_USER + 12)
312 /* CWM_TESTPATH types */
313 #define CWTP_ISEQUAL 0
314 #define CWTP_ISCHILD 1
316 /* CWM_TESTPATH structure */
321 } CWTESTPATHSTRUCT,* LPCWTESTPATHSTRUCT;
323 /****************************************************************************
324 * System Imagelist Routines
327 int WINAPI Shell_GetCachedImageIndex(
332 BOOL WINAPI Shell_GetImageLists(
333 HIMAGELIST *lphimlLarge,
334 HIMAGELIST *lphimlSmall);
336 HICON WINAPI SHGetFileIcon(
339 DWORD dwFileAttributes,
342 int WINAPI SHMapPIDLToSystemImageListIndex(
347 BOOL WINAPI FileIconInit(BOOL bFullInit);
349 /****************************************************************************
352 /* FileMenu_Create nSelHeight constants */
353 #define FM_DEFAULT_SELHEIGHT -1
354 #define FM_FULL_SELHEIGHT 0
356 /* FileMenu_Create flags */
357 #define FMF_SMALL_ICONS 0x00
358 #define FMF_LARGE_ICONS 0x08
359 #define FMF_NO_COLUMN_BREAK 0x10
361 HMENU WINAPI FileMenu_Create(
362 COLORREF crBorderColor,
368 void WINAPI FileMenu_Destroy(HMENU hMenu);
370 /* FileMenu_AppendItem constants */
371 #define FM_SEPARATOR (LPCSTR)1
372 #define FM_BLANK_ICON -1
373 #define FM_DEFAULT_HEIGHT 0
375 BOOL WINAPI FileMenu_AppendItem(
383 /* FileMenu_InsertUsingPidl flags */
384 #define FMF_NO_EMPTY_ITEM 0x01
385 #define FMF_NO_PROGRAM_GROUPS 0x04
387 /* FileMenu_InsertUsingPidl callback function */
388 typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
390 int WINAPI FileMenu_InsertUsingPidl(
396 LPFNFMCALLBACK lpfnCallback);
398 int WINAPI FileMenu_ReplaceUsingPidl(
403 LPFNFMCALLBACK lpfnCallback);
405 void WINAPI FileMenu_Invalidate(HMENU hMenu);
407 HMENU WINAPI FileMenu_FindSubMenuByPidl(
411 BOOL WINAPI FileMenu_TrackPopupMenuEx(
419 BOOL WINAPI FileMenu_GetLastSelectedItemPidls(
421 LPITEMIDLIST *ppidlFolder,
422 LPITEMIDLIST *ppidlItem);
424 LRESULT WINAPI FileMenu_MeasureItem(
426 LPMEASUREITEMSTRUCT lpmis);
428 LRESULT WINAPI FileMenu_DrawItem(
430 LPDRAWITEMSTRUCT lpdis);
432 BOOL WINAPI FileMenu_InitMenuPopup(HMENU hMenu);
434 void WINAPI FileMenu_AbortInitMenu(void);
436 LRESULT WINAPI FileMenu_HandleMenuChar(
440 BOOL WINAPI FileMenu_DeleteAllItems(HMENU hMenu);
442 BOOL WINAPI FileMenu_DeleteItemByCmd(
446 BOOL WINAPI FileMenu_DeleteItemByIndex(
450 BOOL WINAPI FileMenu_DeleteMenuItemByFirstID(
454 BOOL WINAPI FileMenu_DeleteSeparator(HMENU hMenu);
456 BOOL WINAPI FileMenu_EnableItemByCmd(
461 DWORD WINAPI FileMenu_GetItemExtent(
465 int WINAPI FileMenu_AppendFilesForPidl(
470 int WINAPI FileMenu_AddFilesForPidl(
477 LPFNFMCALLBACK lpfnCallback);
479 /****************************************************************************
480 * Drag And Drop Routines
482 HRESULT WINAPI SHLoadOLE(DWORD dwFlags);
484 HRESULT WINAPI SHRegisterDragDrop(
486 LPDROPTARGET lpDropTarget);
488 HRESULT WINAPI SHRevokeDragDrop(HWND hWnd);
490 HRESULT WINAPI SHDoDragDrop(
492 LPDATAOBJECT lpDataObject,
493 LPDROPSOURCE lpDropSource,
497 BOOL WINAPI DAD_DragEnter(HWND hWnd);
499 BOOL WINAPI DAD_DragEnterEx(
503 BOOL WINAPI DAD_DragMove(POINT pt);
505 /* DAD_AutoScroll return values */
506 #define DAD_SCROLL_UP 1
507 #define DAD_SCROLL_DOWN 2
508 #define DAD_SCROLL_LEFT 4
509 #define DAD_SCROLL_RIGHT 8
511 /* DAD_AutoScroll sample structure */
517 POINT aptPositions[3];
519 } SCROLLSAMPLES, *LPSCROLLSAMPLES;
521 DWORD WINAPI DAD_AutoScroll(HWND hWnd,
522 LPSCROLLSAMPLES lpSamples,
525 BOOL WINAPI DAD_DragLeave();
527 BOOL WINAPI DAD_SetDragImageFromListView(
531 BOOL WINAPI DAD_SetDragImage(
532 HIMAGELIST himlTrack,
535 BOOL WINAPI DAD_ShowDragImage(BOOL bShow);
537 HRESULT WINAPI SHCreateStdEnumFmtEtc(
539 const FORMATETC *lpFormats,
540 LPENUMFORMATETC *ppenumFormatetc);
542 HRESULT WINAPI CIDLData_CreateFromIDArray(
543 LPCITEMIDLIST pidlFolder,
545 LPCITEMIDLIST *lppidlFiles,
546 LPDATAOBJECT *ppdataObject);
548 /****************************************************************************
549 * Path Manipulation Routines
552 BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2);
554 LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
556 LPVOID WINAPI PathAddBackslashAW(LPVOID path);
558 LPVOID WINAPI PathBuildRootAW(LPVOID lpszPath, int drive);
560 LPVOID WINAPI PathFindExtensionAW(LPCVOID path);
562 LPVOID WINAPI PathFindFileNameAW(LPCVOID path);
564 LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath, DWORD void1, DWORD void2);
566 LPVOID WINAPI PathGetArgsAW(LPVOID lpszPath);
568 BOOL WINAPI PathRemoveFileSpecAW(LPVOID lpszPath);
570 LPVOID WINAPI PathGetShortPathAW(LPVOID lpszPath);
572 void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
574 VOID WINAPI PathQuoteSpacesAW(LPVOID path);
576 void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath);
578 BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath);
580 BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath);
582 BOOL WINAPI PathIsRootAW(LPCVOID x);
584 BOOL WINAPI PathIsExeAW(LPCVOID lpszPath);
586 BOOL WINAPI PathIsDirectoryAW(LPCVOID lpszPath);
588 BOOL WINAPI PathFileExistsAW(LPCVOID lpszPath);
590 BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec);
592 BOOL WINAPI PathMakeUniqueNameAW(
595 LPCVOID lpszShortName,
596 LPCVOID lpszLongName,
597 LPCVOID lpszPathName);
599 BOOL WINAPI PathYetAnotherMakeUniqueNameA(
602 LPCSTR lpszShortName,
603 LPCSTR lpszLongName);
605 /* PathCleanupSpec return values */
606 #define PCS_REPLACEDCHARS 0x00000001
607 #define PCS_REMOVEDCHARS 0x00000002
608 #define PCS_SHORTENED 0x00000004
609 #define PCS_PATHTOOLONG 0x80000008
611 DWORD WINAPI PathCleanupSpecAW(LPCVOID lpszPath, LPVOID lpszFile);
613 BOOL WINAPI PathQualifyA(LPCSTR path);
614 BOOL WINAPI PathQualifyW(LPCWSTR path);
615 #define PathQualify WINELIB_NAME_AW(PathQualify)
616 BOOL WINAPI PathQualifyAW(LPCVOID path);
619 /* PathResolve flags */
620 #define PRF_CHECKEXISTANCE 0x01
621 #define PRF_EXECUTABLE 0x02
622 #define PRF_QUALIFYONPATH 0x04
623 #define PRF_WINDOWS31 0x08
625 BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags);
627 VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath);
629 /* PathProcessCommand flags */
630 #define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
631 #define PPCF_INCLUDEARGS 0x02
632 #define PPCF_NODIRECTORIES 0x10
633 #define PPCF_DONTRESOLVE 0x20
634 #define PPCF_PATHISRELATIVE 0x40
636 HRESULT WINAPI PathProcessCommandAW(LPCVOID lpszPath, LPVOID lpszBuff,
637 DWORD dwBuffSize, DWORD dwFlags);
639 void WINAPI PathStripPathAW(LPVOID lpszPath);
641 BOOL WINAPI PathStripToRootAW(LPVOID lpszPath);
643 void WINAPI PathRemoveArgsAW(LPVOID lpszPath);
645 void WINAPI PathRemoveExtensionAW(LPVOID lpszPath);
647 int WINAPI PathParseIconLocationAW(LPVOID lpszPath);
649 BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2);
651 BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID sOtherDirs);
653 /****************************************************************************
654 * Shell Namespace Routines
657 /* SHCreateShellFolderViewEx callback function */
658 typedef HRESULT (CALLBACK *LPFNSFVCALLBACK)(
666 /* SHCreateShellFolderViewEx structure */
672 LPCITEMIDLIST pidlFolder;
674 LPFNSFVCALLBACK lpfnCallback;
676 } SHELLFOLDERVIEWINFO, * LPSHELLFOLDERVIEWINFO;
677 typedef const SHELLFOLDERVIEWINFO * LPCSHELLFOLDERVIEWINFO;
679 HRESULT WINAPI SHCreateShellFolderViewEx(
680 LPCSHELLFOLDERVIEWINFO pshfvi,
683 /* SHCreateShellFolderViewEx callback messages */
684 #define SFVCB_ADDTOMENU 0x0001
685 #define SFVCB_INVOKECOMMAND 0x0002
686 #define SFVCB_GETMENUHELP 0x0003
687 #define SFVCB_GETTOOLBARTIP 0x0004
688 #define SFVCB_GETTOOLBARINFO 0x0005
689 #define SFVCB_ADDTOOLBARITEMS 0x0006
690 #define SFVCB_INITMENUPOPUP 0x0007
691 #define SFVCB_SELECTIONCHANGED 0x0008
692 #define SFVCB_DRAWMENUITEM 0x0009
693 #define SFVCB_MEASUREMENUITEM 0x000A
694 #define SFVCB_EXITMENULOOP 0x000B
695 #define SFVCB_VIEWRELEASE 0x000C
696 #define SFVCB_GETNAMELENGTH 0x000D
697 #define SFVCB_CHANGENOTIFY 0x000E
698 #define SFVCB_WINDOWCREATED 0x000F
699 #define SFVCB_WINDOWCLOSING 0x0010
700 #define SFVCB_LISTREFRESHED 0x0011
701 #define SFVCB_WINDOWFOCUSED 0x0012
702 #define SFVCB_REGISTERCOPYHOOK 0x0014
703 #define SFVCB_COPYHOOKCALLBACK 0x0015
704 #define SFVCB_GETDETAILSOF 0x0017
705 #define SFVCB_COLUMNCLICK 0x0018
706 #define SFVCB_GETCHANGENOTIFYPIDL 0x0019
707 #define SFVCB_GETESTIMATEDCOUNT 0x001A
708 #define SFVCB_ADJUSTVIEWMODE 0x001B
709 #define SFVCB_REMOVEFROMMENU 0x001C
710 #define SFVCB_ADDINGOBJECT 0x001D
711 #define SFVCB_REMOVINGOBJECT 0x001E
712 #define SFVCB_UPDATESTATUSBAR 0x001F
713 #define SFVCB_ISSLOWREFRESH 0x0020
714 #define SFVCB_GETCOMMANDDIR 0x0021
715 #define SFVCB_GETCOLUMNSTREAM 0x0022
716 #define SFVCB_CANSELECTALL 0x0023
717 #define SFVCB_DRAGSUCCEEDED 0x0024
718 #define SFVCB_ISSTRICTREFRESH 0x0025
719 #define SFVCB_ISCHILDOBJECT 0x0026
721 /* Generic structure used by several messages */
728 } SFVCBINFO, * LPSFVCBINFO;
729 typedef const SFVCBINFO * LPCSFVCBINFO;
731 /* SFVCB_ADDTOMENU structure */
738 } SFVMENUINFO, * LPSFVMENUINFO;
740 /* SFVCB_GETTOOLBARINFO structure */
745 } SFVTOOLBARINFO, * LPSFVTOOLBARINFO;
747 /* SFVTOOLBARINFO flags */
751 SFVTI_ADDTOFRONT = 1,
755 /* SFVCB_SELECTIONCHANGED structure */
762 } SFVSELECTSTATE, * LPSFVSELECTSTATE;
763 typedef const SFVSELECTSTATE * LPCSFVSELECTSTATE;
765 /* SFVCB_COPYHOOKCALLBACK structure */
775 } SFVCOPYHOOKINFO, * LPSFVCOPYHOOKINFO;
776 typedef const SFVCOPYHOOKINFO * LPCSFVCOPYHOOKINFO;
778 /* SFVCB_GETDETAILSOF structure */
785 } SFVCOLUMNINFO, * LPSFVCOLUMNINFO;
787 int WINAPI SHShellFolderView_Message(
792 /* SHShellFolderView_Message messages */
793 #define SFVM_REARRANGE 0x0001
794 #define SFVM_GETARRANGECOLUMN 0x0002
795 #define SFVM_ADDOBJECT 0x0003
796 #define SFVM_GETITEMCOUNT 0x0004
797 #define SFVM_GETITEMPIDL 0x0005
798 #define SFVM_REMOVEOBJECT 0x0006
799 #define SFVM_UPDATEOBJECT 0x0007
800 #define SFVM_SETREDRAW 0x0008
801 #define SFVM_GETSELECTEDOBJECTS 0x0009
802 #define SFVM_ISDROPONSOURCE 0x000A
803 #define SFVM_MOVEICONS 0x000B
804 #define SFVM_GETDRAGPOINT 0x000C
805 #define SFVM_GETDROPPOINT 0x000D
806 #define SFVM_SETOBJECTPOS 0x000E
807 #define SFVM_ISDROPONBACKGROUND 0x000F
808 #define SFVM_CUTOBJECTS 0x0010
809 #define SFVM_TOGGLEAUTOARRANGE 0x0011
810 #define SFVM_LINEUPICONS 0x0012
811 #define SFVM_GETAUTOARRANGE 0x0013
812 #define SFVM_GETSELECTEDCOUNT 0x0014
813 #define SFVM_GETITEMSPACING 0x0015
814 #define SFVM_REFRESHOBJECT 0x0016
815 #define SFVM_SETCLIPBOARDPOINTS 0x0017
817 /****************************************************************************
821 /* SHWaitForFileToOpen flags */
822 #define SHWFF_ADD 0x01
823 #define SHWFF_REMOVE 0x02
824 #define SHWFF_WAIT 0x04
826 BOOL WINAPI SHWaitForFileToOpen(
831 WORD WINAPI ArrangeWindows(
836 CONST HWND * lpKids);
838 /* RegisterShellHook types */
839 #define RSH_DEREGISTER 0
840 #define RSH_REGISTER 1
841 #define RSH_REGISTER_PROGMAN 2
842 #define RSH_REGISTER_TASKMAN 3
844 BOOL WINAPI RegisterShellHook(
848 /* SHCreateDefClassObject callback function */
849 typedef HRESULT (CALLBACK *LPFNCDCOCALLBACK)(
854 HRESULT WINAPI SHCreateDefClassObject(
857 LPFNCDCOCALLBACK lpfnCallback,
861 DWORD WINAPI SHCLSIDFromStringA (LPCSTR clsid, CLSID *id);
862 DWORD WINAPI SHCLSIDFromStringW (LPWSTR clsid, CLSID *id);
864 HRESULT WINAPI SHCoCreateInstance(
871 void WINAPI SHFreeUnusedLibraries();
873 /* SHCreateLinks flags */
874 #define SHCLF_PREFIXNAME 0x01
875 #define SHCLF_CREATEONDESKTOP 0x02
877 HRESULT WINAPI SHCreateLinks(
880 LPDATAOBJECT lpDataObject,
882 LPITEMIDLIST *lppidlLinks);
884 /* SHGetNewLinkInfo flags */
885 #define SHGNLI_PIDL 0x01
886 #define SHGNLI_PREFIXNAME 0x02
887 #define SHGNLI_NOUNIQUE 0x04
889 BOOL WINAPI SHGetNewLinkInfoA(
896 BOOL WINAPI SHGetNewLinkInfoW(
902 #define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo)
904 /* policy functions */
905 BOOL WINAPI SHInitRestricted(LPSTR, LPSTR);
909 #endif /* defined(__cplusplus) */
911 #endif /* __WINE_UNDOCSHELL_H */