2 * Shell Ordinal Functions
4 * These are completely undocumented. The meaning of the functions changes
5 * between different OS versions (NT uses Unicode strings, 95 uses ASCII
8 * They are just here so that explorer.exe and iexplore.exe can be tested.
10 * Copyright 1997 Marcus Meissner
28 #include "cursoricon.h"
29 #include "interfaces.h"
33 #include "shell32_main.h"
35 /*************************************************************************
36 * SHChangeNotifyRegister [SHELL32.2]
38 * Idlist is an array of structures and Count specifies how many items in the array
39 * (usually just one I think).
42 SHChangeNotifyRegister(
49 { FIXME(shell
,"(0x%04x,0x%08lx,0x%08lx,0x%08lx,0x%08x,%p):stub.\n",
50 hwnd
,events1
,events2
,msg
,count
,idlist
);
53 /*************************************************************************
54 * SHChangeNotifyDeregister [SHELL32.4]
57 SHChangeNotifyDeregister(LONG x1
,LONG x2
)
58 { FIXME(shell
,"(0x%08lx,0x%08lx):stub.\n",x1
,x2
);
62 /*************************************************************************
63 * PathIsRoot [SHELL32.29]
65 BOOL32 WINAPI
PathIsRoot(LPCSTR x
) {
66 TRACE(shell
,"%s\n",x
);
67 if (!strcmp(x
+1,":\\")) /* "X:\" */
69 if (!strcmp(x
,"\\")) /* "\" */
71 if (x
[0]=='\\' && x
[1]=='\\') { /* UNC "\\<xx>\" */
72 int foundbackslash
= 0;
78 if (foundbackslash
<=1) /* max 1 \ more ... */
84 /*************************************************************************
85 * PathBuildRoot [SHELL32.30]
87 LPSTR WINAPI
PathBuildRoot(LPSTR root
,BYTE drive
) {
88 TRACE(shell
,"%p %i\n",root
, drive
);
94 /*************************************************************************
95 * PathFindExtension [SHELL32.31]
98 * returns pointer to last . in last pathcomponent or at \0.
100 LPSTR WINAPI
PathFindExtension(LPSTR path
) {
101 LPSTR lastpoint
= NULL
;
102 TRACE(shell
,"%p %s\n",path
,path
);
104 if (*path
=='\\'||*path
==' ')
110 return lastpoint
?lastpoint
:path
;
113 /*************************************************************************
114 * PathAddBackslash [SHELL32.32]
117 * append \ if there is none
119 LPSTR WINAPI
PathAddBackslash(LPSTR path
)
121 TRACE(shell
,"%p->%s\n",path
,path
);
123 if (len
&& path
[len
-1]!='\\')
132 /*************************************************************************
133 * PathRemoveBlanks [SHELL32.33]
136 * remove spaces from beginning and end of passed string
138 LPSTR WINAPI
PathRemoveBlanks(LPSTR str
)
140 TRACE(shell
,"%s\n",str
);
155 /*************************************************************************
156 * PathFindFilename [SHELL32.34]
159 * basename(char *fn);
161 LPSTR WINAPI
PathFindFilename(LPSTR fn
)
163 TRACE(shell
,"%s\n",fn
);
166 { if (((fn
[0]=='\\') || (fn
[0]==':')) && fn
[1] && fn
[1]!='\\')
173 /*************************************************************************
174 * PathRemoveFileSpec [SHELL32.35]
177 * bool getpath(char *pathname); truncates passed argument to a valid path
178 * returns if the string was modified or not.
179 * "\foo\xx\foo"-> "\foo\xx"
183 DWORD WINAPI
PathRemoveFileSpec(LPSTR fn
) {
185 TRACE(shell
,"%s\n",fn
);
199 continue; /* already x++ed */
217 /*************************************************************************
218 * PathAppend [SHELL32.36]
221 * concat_paths(char*target,const char*add);
222 * concats "target\\add" and writes them to target
224 LPSTR WINAPI
PathAppend(LPSTR x1
,LPSTR x2
) {
225 TRACE(shell
,"%s %s\n",x1
,x2
);
226 while (x2
[0]=='\\') x2
++;
227 return PathCombine(x1
,x1
,x2
);
230 /*************************************************************************
231 * PathCombine [SHELL32.37]
234 * if lpszFile='.' skip it
236 LPSTR WINAPI
PathCombine(LPSTR szDest
, LPCSTR lpszDir
, LPCSTR lpszFile
)
237 { TRACE(shell
,"%s %s\n",lpszDir
,lpszFile
);
239 if (!lpszFile
|| !lpszFile
[0] || (lpszFile
[0]=='.' && !lpszFile
[1]) )
240 { strcpy(szDest
,lpszDir
);
243 strcpy(szDest
,lpszDir
);
244 PathAddBackslash(szDest
);
245 strcat(szDest
,lpszFile
);
249 /*************************************************************************
250 * PathIsUNC [SHELL32.39]
253 * PathIsUNC(char*path);
255 BOOL32 WINAPI
PathIsUNC(LPCSTR path
) {
256 TRACE(shell
,"%s\n",path
);
257 if ((path
[0]=='\\') && (path
[1]=='\\'))
261 /*************************************************************************
262 * PathIsExe [SHELL32.43]
265 BOOL32 WINAPI
PathIsExe (LPCSTR path
)
266 { TRACE(shell
,"path=%s\n",path
);
270 /*************************************************************************
271 * PathFileExists [SHELL32.45]
274 * file_exists(char *fn);
276 BOOL32 WINAPI
PathFileExists(LPSTR fn
) {
277 TRACE(shell
,"%s\n",fn
);
278 if (GetFileAttributes32A(fn
)==-1)
283 /*************************************************************************
284 * PathMatchSpec [SHELL32.46]
290 BOOL32 WINAPI
PathMatchSpec(LPSTR x
, LPSTR y
)
291 { FIXME(shell
,"%s %s stub\n",x
,y
);
295 /*************************************************************************
296 * PathResolve [SHELL32.51]
298 DWORD WINAPI
PathResolve(LPCSTR s
,DWORD x2
,DWORD x3
) {
299 FIXME(shell
,"(%s,0x%08lx,0x%08lx),stub!\n",s
,x2
,x3
);
303 /*************************************************************************
304 * PathGetArgs [SHELL32.52]
307 * look for next arg in string. handle "quoted" strings
308 * returns pointer to argument *AFTER* the space. Or to the \0.
310 LPSTR WINAPI
PathGetArgs(LPSTR cmdline
) {
311 BOOL32 qflag
= FALSE
;
312 TRACE(shell
,"%s\n",cmdline
);
314 if ((*cmdline
==' ') && !qflag
)
323 /*************************************************************************
324 * PathUnquoteSpaces [SHELL32.56]
327 * unquote string (remove ")
329 VOID WINAPI
PathUnquoteSpaces(LPSTR str
) {
330 DWORD len
= lstrlen32A(str
);
331 TRACE(shell
,"%s\n",str
);
332 if (*str
!='"') return;
333 if (str
[len
-1]!='"') return;
335 lstrcpy32A(str
,str
+1);
339 /*************************************************************************
340 * ParseField [SHELL32.58]
343 DWORD WINAPI
ParseField(LPCSTR src
,DWORD x2
,LPSTR target
,DWORD pathlen
) {
344 FIXME(shell
,"(%s,0x%08lx,%p,%ld):stub.\n",
345 src
,x2
,target
,pathlen
352 /*************************************************************************
353 * PickIconDlg [SHELL32.62]
356 DWORD WINAPI
PickIconDlg(DWORD x
,DWORD y
,DWORD z
,DWORD a
) {
357 FIXME(shell
,"(%08lx,%08lx,%08lx,%08lx):stub.\n",x
,y
,z
,a
);
361 /*************************************************************************
362 * GetFileNameFromBrowse [SHELL32.63]
365 DWORD WINAPI
GetFileNameFromBrowse(HWND32 howner
, LPSTR targetbuf
, DWORD len
, DWORD x
, LPCSTR suffix
, LPCSTR y
, LPCSTR cmd
) {
366 FIXME(shell
,"(%04x,%p,%ld,%08lx,%s,%s,%s):stub.\n",
367 howner
,targetbuf
,len
,x
,suffix
,y
,cmd
369 /* puts up a Open Dialog and requests input into targetbuf */
370 /* OFN_HIDEREADONLY|OFN_NOCHANGEDIR|OFN_FILEMUSTEXIST|OFN_unknown */
371 lstrcpy32A(targetbuf
,"x:\\s3.exe");
375 /*************************************************************************
376 * SHGetSettings [SHELL32.68]
379 DWORD WINAPI
SHGetSettings(DWORD x
,DWORD y
,DWORD z
) {
380 FIXME(shell
,"(0x%08lx,0x%08lx,0x%08lx):stub.\n",
386 /*************************************************************************
387 * Shell_GetCachedImageIndex [SHELL32.72]
390 void WINAPI
Shell_GetCachedImageIndex(LPSTR x
,DWORD y
,DWORD z
)
391 { FIXME(shell
,"(%s,%08lx,%08lx):stub.\n",x
,y
,z
);
394 /*************************************************************************
395 * SHShellFolderView_Message [SHELL32.73]
398 * hwndCabinet defines the explorer cabinet window that contains the
399 * shellview you need to communicate with
400 * uMsg identifying the SFVM enum to perform
404 * Message SFVM_REARRANGE = 1
405 * This message gets sent when a column gets clicked to instruct the
406 * shell view to re-sort the item list. lParam identifies the column
409 int WINAPI
SHShellFolderView_Message(HWND32 hwndCabinet
,UINT32 uMsg
,LPARAM lParam
)
410 { FIXME(shell
,"%04x %08ux %08lx stub\n",hwndCabinet
,uMsg
,lParam
);
414 /*************************************************************************
415 * PathYetAnotherMakeUniqueName [SHELL32.75]
418 * exported by ordinal
420 BOOL32 WINAPI
PathYetAnotherMakeUniqueName(LPDWORD x
,LPDWORD y
) {
421 FIXME(shell
,"(%p,%p):stub.\n",x
,y
);
425 /*************************************************************************
426 * SHMapPIDLToSystemImageListIndex [SHELL32.77]
429 * x pointer to an instance of IShellFolder
432 * exported by ordinal
436 SHMapPIDLToSystemImageListIndex(LPSHELLFOLDER sh
,DWORD y
,DWORD z
)
437 { FIXME(shell
,"(SF=%p,pidl=%08lx,%08lx):stub.\n",sh
,y
,z
);
441 /*************************************************************************
442 * OleStrToStrN [SHELL32.78]
445 * exported by ordinal
447 * wrong implemented OleStr is NOT wide string !!!! (jsch)
450 OleStrToStrN (LPSTR lpMulti
, INT32 nMulti
, LPCWSTR lpWide
, INT32 nWide
) {
451 return WideCharToMultiByte (0, 0, lpWide
, nWide
,
452 lpMulti
, nMulti
, NULL
, NULL
);
455 /*************************************************************************
456 * StrToOleStrN [SHELL32.79]
459 * exported by ordinal
461 * wrong implemented OleStr is NOT wide string !!!! (jsch)
464 StrToOleStrN (LPWSTR lpWide
, INT32 nWide
, LPCSTR lpMulti
, INT32 nMulti
) {
465 return MultiByteToWideChar (0, 0, lpMulti
, nMulti
, lpWide
, nWide
);
468 /*************************************************************************
469 * SHCloneSpecialIDList [SHELL32.89]
473 * nFolder [in] CSIDL_xxxxx ??
478 * exported by ordinal
480 LPITEMIDLIST WINAPI
SHCloneSpecialIDList(HWND32 hwndOwner
,DWORD nFolder
,DWORD x3
)
481 { LPITEMIDLIST ppidl
;
482 WARN(shell
,"(hwnd=0x%x,csidl=0x%lx,0x%lx):semi-stub.\n",
483 hwndOwner
,nFolder
,x3
);
485 SHGetSpecialFolderLocation(hwndOwner
, nFolder
, &ppidl
);
490 /*************************************************************************
491 * IsLFNDrive [SHELL32.119]
494 * exported by ordinal Name
496 BOOL32 WINAPI
IsLFNDrive(LPCSTR path
) {
499 if (!GetVolumeInformation32A(path
,NULL
,0,NULL
,&fnlen
,NULL
,NULL
,0))
504 /*************************************************************************
505 * SHGetSpecialFolderPath [SHELL32.175]
508 * exported by ordinal
510 void WINAPI
SHGetSpecialFolderPath(DWORD x1
,DWORD x2
,DWORD x3
,DWORD x4
) {
511 FIXME(shell
,"(0x%04lx,0x%04lx,csidl=0x%04lx,0x%04lx):stub.\n",
516 /*************************************************************************
517 * RegisterShellHook [SHELL32.181]
520 * hwnd [I] window handle
524 * exported by ordinal
526 void WINAPI
RegisterShellHook32(HWND32 hwnd
, DWORD y
) {
527 FIXME(shell
,"(0x%08x,0x%08lx):stub.\n",hwnd
,y
);
530 /*************************************************************************
531 * ShellMessageBoxA [SHELL32.183]
533 * Format and output errormessage.
536 * exported by ordinal
539 ShellMessageBoxA(HMODULE32 hmod
,HWND32 hwnd
,DWORD id
,DWORD x
,DWORD type
,LPVOID arglist
) {
540 char buf
[100],buf2
[100]/*,*buf3*/;
541 /* LPVOID args = &arglist;*/
543 if (!LoadString32A(hmod
,x
,buf
,100))
544 strcpy(buf
,"Desktop");
545 // LoadString32A(hmod,id,buf2,100);
546 /* FIXME: the varargs handling doesn't. */
547 // FormatMessage32A(0x500,buf2,0,0,(LPSTR)&buf3,256,(LPDWORD)&args);
549 FIXME(shell
,"(%08lx,%08lx,%08lx(%s),%08lx(%s),%08lx,%p):stub.\n",
550 (DWORD
)hmod
,(DWORD
)hwnd
,id
,buf2
,x
,buf
,type
,arglist
552 /*MessageBox32A(hwnd,buf3,buf,id|0x10000);*/
555 /*************************************************************************
556 * SHRestricted [SHELL32.100]
558 * walks through policy table, queries <app> key, <type> value, returns
559 * queried (DWORD) value.
560 * {0x00001,Explorer,NoRun}
561 * {0x00002,Explorer,NoClose}
562 * {0x00004,Explorer,NoSaveSettings}
563 * {0x00008,Explorer,NoFileMenu}
564 * {0x00010,Explorer,NoSetFolders}
565 * {0x00020,Explorer,NoSetTaskbar}
566 * {0x00040,Explorer,NoDesktop}
567 * {0x00080,Explorer,NoFind}
568 * {0x00100,Explorer,NoDrives}
569 * {0x00200,Explorer,NoDriveAutoRun}
570 * {0x00400,Explorer,NoDriveTypeAutoRun}
571 * {0x00800,Explorer,NoNetHood}
572 * {0x01000,Explorer,NoStartBanner}
573 * {0x02000,Explorer,RestrictRun}
574 * {0x04000,Explorer,NoPrinterTabs}
575 * {0x08000,Explorer,NoDeletePrinter}
576 * {0x10000,Explorer,NoAddPrinter}
577 * {0x20000,Explorer,NoStartMenuSubFolders}
578 * {0x40000,Explorer,MyDocsOnNet}
579 * {0x80000,WinOldApp,NoRealMode}
582 * exported by ordinal
584 DWORD WINAPI
SHRestricted (DWORD pol
) {
587 FIXME(shell
,"(%08lx):stub.\n",pol
);
588 if (RegOpenKey32A(HKEY_CURRENT_USER
,"Software\\Microsoft\\Windows\\CurrentVersion\\Policies",&xhkey
))
590 /* FIXME: do nothing for now, just return 0 (== "allowed") */
595 /*************************************************************************
596 * PathGetExtension [SHELL32.158]
599 * exported by ordinal
601 LPSTR WINAPI
PathGetExtension(LPSTR path
,DWORD y
,DWORD z
)
602 { TRACE(shell
,"(%s,%08lx,%08lx)\n",path
,y
,z
);
603 path
= PathFindExtension(path
);
604 return *path
?(path
+1):path
;
607 /*************************************************************************
608 * SHCreateDirectory [SHELL32.165]
611 * exported by ordinal
612 * not sure about LPSECURITY_ATTRIBUTES
614 DWORD WINAPI
SHCreateDirectory(LPSECURITY_ATTRIBUTES sec
,LPCSTR path
) {
615 TRACE(shell
,"(%p,%s):stub.\n",sec
,path
);
616 if (CreateDirectory32A(path
,sec
))
618 /* SHChangeNotify(8,1,path,0); */
621 if (SHELL32_79(path
,(LPVOID
)x
))
623 FIXME(shell
,"(%08lx,%s):stub.\n",x
,path
);
628 /*************************************************************************
629 * SHFree [SHELL32.195]
632 * free_ptr() - frees memory using IMalloc
633 * exported by ordinal
635 DWORD WINAPI
SHFree(LPVOID x
) {
636 TRACE(shell
,"%p\n",x
);
637 /*return LocalFree32((HANDLE32)x);*/ /* crashes */
638 return HeapFree(GetProcessHeap(),0,x
);
641 /*************************************************************************
642 * SHAlloc [SHELL32.196]
645 * void *task_alloc(DWORD len), uses SHMalloc allocator
646 * exported by ordinal
648 LPVOID WINAPI
SHAlloc(DWORD len
) {
649 /* void * ret = (LPVOID)LocalAlloc32(len,LMEM_ZEROINIT);*/ /* chrashes */
650 void * ret
= (LPVOID
) HeapAlloc(GetProcessHeap(),0,len
);
651 TRACE(shell
,"%lu bytes at %p\n",len
, ret
);
655 /*************************************************************************
656 * OpenRegStream [SHELL32.85]
659 * exported by ordinal
661 DWORD WINAPI
OpenRegStream(DWORD x1
,DWORD x2
,DWORD x3
,DWORD x4
) {
662 FIXME(shell
,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx):stub.\n",
668 /*************************************************************************
669 * SHRegisterDragDrop [SHELL32.86]
672 * exported by ordinal
674 DWORD WINAPI
SHRegisterDragDrop(HWND32 hwnd
,DWORD x2
) {
675 FIXME (shell
, "(0x%08x,0x%08lx):stub.\n", hwnd
, x2
);
679 /*************************************************************************
680 * SHRevokeDragDrop [SHELL32.87]
683 * exported by ordinal
685 DWORD WINAPI
SHRevokeDragDrop(DWORD x
) {
686 FIXME(shell
,"(0x%08lx):stub.\n",x
);
690 /*************************************************************************
691 * RunFileDlg [SHELL32.61]
694 * Original name: RunFileDlg (exported by ordinal)
697 RunFileDlg (HWND32 hwndOwner
, DWORD dwParam1
, DWORD dwParam2
,
698 LPSTR lpszTitle
, LPSTR lpszPrompt
, UINT32 uFlags
)
700 FIXME (shell
,"(0x%08x 0x%lx 0x%lx \"%s\" \"%s\" 0x%x):stub.\n",
701 hwndOwner
, dwParam1
, dwParam2
, lpszTitle
, lpszPrompt
, uFlags
);
705 /*************************************************************************
706 * ExitWindowsDialog [SHELL32.60]
709 * exported by ordinal
712 ExitWindowsDialog (HWND32 hwndOwner
)
714 FIXME (shell
,"(0x%08x):stub.\n", hwndOwner
);
718 /*************************************************************************
719 * ArrangeWindows [SHELL32.184]
723 ArrangeWindows (DWORD dwParam1
, DWORD dwParam2
, DWORD dwParam3
,
724 DWORD dwParam4
, DWORD dwParam5
)
726 FIXME (shell
,"(0x%lx 0x%lx 0x%lx 0x%lx 0x%lx):stub.\n",
727 dwParam1
, dwParam2
, dwParam3
, dwParam4
, dwParam5
);
731 /*************************************************************************
732 * SHCLSIDFromString [SHELL32.147]
735 * exported by ordinal
738 SHCLSIDFromString (DWORD dwParam1
, DWORD dwParam2
)
740 FIXME (shell
,"(0x%lx 0x%lx):stub.\n", dwParam1
, dwParam2
);
741 FIXME (shell
,"(\"%s\" \"%s\"):stub.\n", (LPSTR
)dwParam1
, (LPSTR
)dwParam2
);
747 /*************************************************************************
748 * SignalFileOpen [SHELL32.103]
751 * exported by ordinal
754 SignalFileOpen (DWORD dwParam1
)
756 FIXME (shell
,"(0x%08lx):stub.\n", dwParam1
);
761 /*************************************************************************
762 * SHAddToRecentDocs [SHELL32.234]
765 * uFlags [IN] SHARD_PATH or SHARD_PIDL
766 * pv [IN] string or pidl, NULL clears the list
771 DWORD WINAPI
SHAddToRecentDocs32 (UINT32 uFlags
,LPCVOID pv
)
772 { if (SHARD_PIDL
==uFlags
)
773 { FIXME (shell
,"(0x%08x,pidl=%p):stub.\n", uFlags
,pv
);
776 { FIXME (shell
,"(0x%08x,%s):stub.\n", uFlags
,(char*)pv
);
781 /*************************************************************************
782 * SHFileOperation [SHELL32.242]
787 DWORD WINAPI
SHFileOperation32 (
788 LPSHFILEOPSTRUCT32A lpFileOp
)
789 { FIXME (shell
,"(%p):stub.\n", lpFileOp
);
793 /*************************************************************************
794 * SHChangeNotify [SHELL32.239]
799 DWORD WINAPI
SHChangeNotify32 (
800 INT32 wEventId
, /* [IN] flags that specifies the event*/
801 UINT32 uFlags
, /* [IN] the meaning of dwItem[1|2]*/
804 { FIXME (shell
,"(0x%08x,0x%08ux,%p,%p):stub.\n", wEventId
,uFlags
,dwItem1
,dwItem2
);
807 /*************************************************************************
808 * SHCreateShellFolderViewEx [SHELL32.174]
811 * see IShellFolder::CreateViewObject
813 HRESULT WINAPI
SHCreateShellFolderViewEx32(
814 LPSHELLVIEWDATA psvcbi
, /*[in ] shelltemplate struct*/
815 LPVOID
* ppv
) /*[out] IShellView pointer*/
816 { FIXME (shell
,"(%p,%p):stub.\n", psvcbi
,ppv
);
819 /*************************************************************************
820 * SHFind_InitMenuPopup [SHELL32.149]
823 * Registers the menu behind the "Start" button
826 * hMenu [in] handel of menu previously created
827 * hWndParent [in] parent window
831 HRESULT WINAPI
SHFind_InitMenuPopup (HMENU32 hMenu
, HWND32 hWndParent
, DWORD w
, DWORD x
)
832 { FIXME(shell
,"hmenu=0x%08x hwnd=0x%08x 0x%08lx 0x%08lx stub\n",
833 hMenu
,hWndParent
,w
,x
);
836 /*************************************************************************
837 * FileMenu_InitMenuPopup [SHELL32.109]
840 HRESULT WINAPI
FileMenu_InitMenuPopup (DWORD hmenu
)
841 { FIXME(shell
,"hmenu=0x%lx stub\n",hmenu
);
844 /*************************************************************************
845 * FileMenu_Create [SHELL32.114]
847 * w retval from LoadBitmapA
851 HRESULT WINAPI
FileMenu_Create (DWORD u
, DWORD v
, DWORD w
, DWORD x
, DWORD z
)
852 { FIXME(shell
,"0x%08lx 0x%08lx hbmp=0x%lx 0x%08lx 0x%08lx stub\n",u
,v
,w
,x
,z
);
855 /*************************************************************************
856 * FileMenu_TrackPopupMenuEx [SHELL32.116]
859 * uFlags [in] according to TrackPopupMenuEx
863 * z could be rect (trace) or TPMPARAMS (TrackPopupMenuEx)
865 HRESULT WINAPI
FileMenu_TrackPopupMenuEx (DWORD t
, DWORD uFlags
, DWORD posX
, DWORD posY
, HWND32 hWndParent
, DWORD z
)
866 { FIXME(shell
,"0x%lx flags=0x%lx posx=0x%lx posy=0x%lx hwndp=0x%x 0x%lx stub\n",
867 t
,uFlags
,posX
,posY
, hWndParent
,z
);
870 /*************************************************************************
871 * SHWinHelp [SHELL32.127]
874 HRESULT WINAPI
SHWinHelp (DWORD v
, DWORD w
, DWORD x
, DWORD z
)
875 { FIXME(shell
,"0x%08lx 0x%08lx 0x%08lx 0x%08lx stub\n",v
,w
,x
,z
);
878 /*************************************************************************
879 * SHRunConrolPanel [SHELL32.161]
882 HRESULT WINAPI
SHRunConrolPanel (DWORD x
, DWORD z
)
883 { FIXME(shell
,"0x%08lx 0x%08lx stub\n",x
,z
);
886 /*************************************************************************
887 * ShellExecuteEx [SHELL32.291]
890 BOOL32 WINAPI
ShellExecuteEx32A (LPSHELLEXECUTEINFO32A sei
)
891 { CHAR szTemp
[MAX_PATH
];
893 FIXME(shell
,"(%p): stub\n",sei
);
895 if (sei
->fMask
& SEE_MASK_IDLIST
)
896 { SHGetPathFromIDList32A (sei
->lpIDList
,szTemp
);
897 TRACE (shell
,"-- idlist=%p (%s)\n", sei
->lpIDList
, szTemp
);
900 if (sei
->fMask
& SEE_MASK_CLASSNAME
)
901 { TRACE (shell
,"-- classname= %s\n", sei
->lpClass
);
905 { TRACE (shell
,"-- action=%s\n", sei
->lpVerb
);
910 /*************************************************************************
911 * SHSetInstanceExplorer [SHELL32.176]
914 HRESULT WINAPI
SHSetInstanceExplorer (DWORD u
)
915 { FIXME(shell
,"0x%08lx stub\n",u
);
918 /*************************************************************************
919 * SHGetInstanceExplorer [SHELL32.256]
924 HRESULT WINAPI
SHGetInstanceExplorer (DWORD u
)
925 { FIXME(shell
,"0x%08lx stub\n",u
);
928 /*************************************************************************
929 * SHFreeUnusedLibraries [SHELL32.123]
934 HRESULT WINAPI
SHFreeUnusedLibraries (DWORD u
)
935 { FIXME(shell
,"0x%08lx stub\n",u
);
938 /*************************************************************************
939 * DAD_ShowDragImage [SHELL32.137]
944 HRESULT WINAPI
DAD_ShowDragImage (DWORD u
)
945 { FIXME(shell
,"0x%08lx stub\n",u
);
948 /*************************************************************************
949 * FileMenu_Destroy [SHELL32.118]
954 HRESULT WINAPI
FileMenu_Destroy (DWORD u
)
955 { FIXME(shell
,"0x%08lx stub\n",u
);
958 /*************************************************************************
959 * SHGetDataFromIDListA [SHELL32.247]
962 HRESULT WINAPI
SHGetDataFromIDListA(DWORD u
, DWORD v
, DWORD w
, DWORD x
, DWORD y
)
963 { FIXME(shell
,"0x%04lx 0x%04lx 0x%04lx 0x%04lx 0x%04lx stub\n",u
,v
,w
,x
,y
);
966 /*************************************************************************
967 * SHFileOperationA [SHELL32.243]
970 HRESULT WINAPI
SHFileOperationA(DWORD x
)
971 { FIXME(shell
,"0x%08lx stub\n",x
);