xref: /reactos/dll/win32/shell32/stubs.cpp (revision 2ea03b5b)
1 /*
2  * COPYRIGHT:       See COPYING in the top level directory
3  * PROJECT:         shell32.dll
4  * FILE:            dll/win32/shell32/stubs.c
5  * PURPOSE:         shell32.dll stubs
6  * PROGRAMMER:      Dmitry Chapyshev (dmitry@reactos.org)
7  * NOTES:           If you implement a function, remove it from this file
8  * UPDATE HISTORY:
9  *      03/02/2009  Created
10  */
11 
12 
13 #include "precomp.h"
14 
15 WINE_DEFAULT_DEBUG_CHANNEL(shell);
16 
17 /*
18  * Unimplemented
19  */
20 EXTERN_C LPWSTR
21 WINAPI
22 ShortSizeFormatW(LONGLONG llNumber)
23 {
24     FIXME("ShortSizeFormatW() stub\n");
25     return NULL;
26 }
27 
28 /*
29  * Unimplemented
30  */
31 EXTERN_C BOOL
32 WINAPI
33 PathIsEqualOrSubFolder(LPWSTR lpFolder, LPWSTR lpSubFolder)
34 {
35     FIXME("PathIsEqualOrSubFolder() stub\n");
36     return FALSE;
37 }
38 
39 EXTERN_C HRESULT
40 WINAPI
41 SHGetUnreadMailCountW(HKEY hKeyUser,
42                       LPCWSTR pszMailAddress,
43                       DWORD *pdwCount,
44                       FILETIME *pFileTime,
45                       LPWSTR pszShellExecuteCommand,
46                       int cchShellExecuteCommand)
47 {
48     FIXME("SHGetUnreadMailCountW() stub\n");
49     return E_FAIL;
50 }
51 
52 /*
53  * Unimplemented
54  */
55 EXTERN_C HRESULT
56 WINAPI
57 SHSetUnreadMailCountW(LPCWSTR pszMailAddress,
58                       DWORD dwCount,
59                       LPCWSTR pszShellExecuteCommand)
60 {
61     FIXME("SHSetUnreadMailCountW() stub\n");
62     return E_FAIL;
63 }
64 
65 /*
66  * Unimplemented
67  */
68 EXTERN_C HRESULT
69 WINAPI
70 SHEnumerateUnreadMailAccountsW(HKEY user,
71                                DWORD idx,
72                                LPWSTR mailaddress,
73                                INT mailaddresslen)
74 {
75     FIXME("SHEnumerateUnreadMailAccountsW(%p %d %p %d) stub\n",
76         user, idx, mailaddress, mailaddresslen);
77     return E_NOTIMPL;
78 }
79 
80 /*
81  * Unimplemented
82  */
83 EXTERN_C VOID
84 WINAPI
85 CheckDiskSpace(VOID)
86 {
87     FIXME("CheckDiskSpace() stub\n");
88 }
89 
90 /*
91  * Unimplemented
92  */
93 EXTERN_C VOID
94 WINAPI
95 SHReValidateDarwinCache(VOID)
96 {
97     FIXME("SHReValidateDarwinCache() stub\n");
98 }
99 
100 /*
101  * Unimplemented
102  */
103 EXTERN_C HRESULT
104 WINAPI
105 CopyStreamUI(IStream *pSrc, IStream *pDst, IProgressDialog *pProgDlg)
106 {
107     FIXME("CopyStreamUI() stub\n");
108     return E_FAIL;
109 }
110 
111 /*
112  * Unimplemented
113  */
114 EXTERN_C FILEDESCRIPTOR*
115 WINAPI
116 GetFileDescriptor(FILEGROUPDESCRIPTOR *pFileGroupDesc, BOOL bUnicode, INT iIndex, LPWSTR lpName)
117 {
118     FIXME("GetFileDescriptor() stub\n");
119     return NULL;
120 }
121 
122 /*
123  * Unimplemented
124  */
125 EXTERN_C BOOL
126 WINAPI
127 MakeShellURLFromPathW(LPCWSTR lpPath, LPWSTR lpUrl, INT cchMax)
128 {
129     FIXME("MakeShellURLFromPathW() stub\n");
130     lpUrl = NULL;
131     return FALSE;
132 }
133 
134 /*
135  * Unimplemented
136  */
137 EXTERN_C BOOL
138 WINAPI
139 MakeShellURLFromPathA(LPCSTR lpPath, LPSTR lpUrl, INT cchMax)
140 {
141     WCHAR szPath[MAX_PATH], szURL[MAX_PATH];
142     BOOL ret;
143     SHAnsiToUnicode(lpPath, szPath, _countof(szPath));
144     ret = MakeShellURLFromPathW(szPath, szURL, _countof(szURL));
145     SHUnicodeToAnsi(szURL, lpUrl, cchMax);
146     return ret;
147 }
148 
149 /*
150  * Unimplemented
151  */
152 EXTERN_C HRESULT
153 WINAPI
154 SHParseDarwinIDFromCacheW(LPCWSTR lpUnknown1, LPWSTR lpUnknown2)
155 {
156     FIXME("SHParseDarwinIDFromCacheW() stub\n");
157     lpUnknown2 = NULL;
158     return E_FAIL;
159 }
160 
161 /*
162  * Unimplemented
163  */
164 EXTERN_C HRESULT
165 WINAPI
166 SHMultiFileProperties(IDataObject *pDataObject, DWORD dwFlags)
167 {
168     FIXME("SHMultiFileProperties() stub\n");
169     return E_FAIL;
170 }
171 
172 /*
173  * Unimplemented
174  */
175 EXTERN_C HRESULT
176 WINAPI
177 SHCopyMonikerToTemp(IMoniker *pMoniker, LPCWSTR lpInput, LPWSTR lpOutput, INT cchMax)
178 {
179     /* Unimplemented in XP SP3 */
180     TRACE("SHCopyMonikerToTemp() stub\n");
181     return E_FAIL;
182 }
183 
184 /*
185  * Unimplemented
186  */
187 EXTERN_C HLOCAL
188 WINAPI
189 CheckWinIniForAssocs(VOID)
190 {
191     FIXME("CheckWinIniForAssocs() stub\n");
192     return NULL;
193 }
194 
195 /*
196  * Unimplemented
197  */
198 EXTERN_C HRESULT
199 WINAPI
200 SHGetSetFolderCustomSettingsW(LPSHFOLDERCUSTOMSETTINGSW pfcs,
201                               LPCWSTR pszPath,
202                               DWORD dwReadWrite)
203 {
204     FIXME("SHGetSetFolderCustomSettingsW() stub\n");
205     return E_FAIL;
206 }
207 
208 /*
209  * Unimplemented
210  */
211 EXTERN_C HRESULT
212 WINAPI
213 SHGetSetFolderCustomSettingsA(LPSHFOLDERCUSTOMSETTINGSA pfcs,
214                               LPCSTR pszPath,
215                               DWORD dwReadWrite)
216 {
217     FIXME("SHGetSetFolderCustomSettingsA() stub\n");
218     return E_FAIL;
219 }
220 
221 /*
222  * Unimplemented
223  */
224 EXTERN_C BOOL
225 WINAPI
226 SHOpenPropSheetA(LPCSTR lpCaption,
227                  HKEY hKeys[],
228                  UINT uCount,
229                  const CLSID *pClsID,
230                  IDataObject *pDataObject,
231                  IShellBrowser *pShellBrowser,
232                  LPCSTR lpStartPage)
233 {
234     FIXME("SHOpenPropSheetA() stub\n");
235     return FALSE;
236 }
237 
238 /*
239  * Unimplemented
240  */
241 EXTERN_C BOOL
242 WINAPI
243 SHOpenPropSheetW(LPCWSTR lpCaption,
244                  HKEY hKeys[],
245                  UINT uCount,
246                  const CLSID *pClsID,
247                  IDataObject *pDataObject,
248                  IShellBrowser *pShellBrowser,
249                  LPCWSTR lpStartPage)
250 {
251     FIXME("SHOpenPropSheetW() stub\n");
252     return FALSE;
253 }
254 
255 /*
256  * Unimplemented
257  */
258 EXTERN_C VOID
259 WINAPI
260 CDefFolderMenu_MergeMenu(HINSTANCE hInstance,
261                          UINT uMainMerge,
262                          UINT uPopupMerge,
263                          LPQCMINFO lpQcmInfo)
264 {
265     FIXME("CDefFolderMenu_MergeMenu() stub\n");
266 }
267 
268 /*
269  * Unimplemented
270  */
271 EXTERN_C HRESULT
272 WINAPI
273 CDefFolderMenu_Create(LPITEMIDLIST pidlFolder,
274                       HWND hwnd,
275                       UINT uidl,
276                       PCUITEMID_CHILD_ARRAY *apidl,
277                       IShellFolder *psf,
278                       LPFNDFMCALLBACK lpfn,
279                       HKEY hProgID,
280                       HKEY hBaseProgID,
281                       IContextMenu **ppcm)
282 {
283     FIXME("CDefFolderMenu_Create() stub\n");
284     return E_FAIL;
285 }
286 
287 /*
288  * Unimplemented
289  */
290 EXTERN_C VOID
291 WINAPI
292 SHWaitOp_Operate(LPVOID lpUnknown1, DWORD dwUnknown2)
293 {
294     FIXME("SHWaitOp_Operate() stub\n");
295 }
296 
297 /*
298  * Unimplemented
299  */
300 EXTERN_C INT
301 WINAPI
302 RealDriveTypeFlags(INT iDrive, BOOL bUnknown)
303 {
304     FIXME("RealDriveTypeFlags() stub\n");
305     return 1;
306 }
307 
308 /*
309  * Unimplemented
310  */
311 EXTERN_C LPWSTR
312 WINAPI
313 StrRStrW(LPWSTR lpSrc, LPWSTR lpLast, LPWSTR lpSearch)
314 {
315     FIXME("StrRStrW() stub\n");
316     return NULL;
317 }
318 
319 /*
320  * Unimplemented
321  */
322 EXTERN_C LPWSTR
323 WINAPI
324 StrRStrA(LPSTR lpSrc, LPSTR lpLast, LPSTR lpSearch)
325 {
326     FIXME("StrRStrA() stub\n");
327     return NULL;
328 }
329 
330 /*
331  * Unimplemented
332  */
333 EXTERN_C LONG
334 WINAPI
335 ShellHookProc(INT iCode, WPARAM wParam, LPARAM lParam)
336 {
337     /* Unimplemented in WinXP SP3 */
338     TRACE("ShellHookProc() stub\n");
339     return 0;
340 }
341 
342 /*
343  * Unimplemented
344  */
345 EXTERN_C VOID
346 WINAPI
347 ShellExec_RunDLL(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
348 {
349     FIXME("ShellExec_RunDLL() stub\n");
350 }
351 
352 /*
353  * Unimplemented
354  */
355 EXTERN_C VOID
356 WINAPI
357 ShellExec_RunDLLA(HWND hwnd, HINSTANCE hInstance, LPSTR pszCmdLine, int nCmdShow)
358 {
359     FIXME("ShellExec_RunDLLA() stub\n");
360 }
361 
362 /*
363  * Unimplemented
364  */
365 EXTERN_C VOID
366 WINAPI
367 ShellExec_RunDLLW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
368 {
369     FIXME("ShellExec_RunDLLW() stub\n");
370 }
371 
372 /*
373  * Unimplemented
374  */
375 EXTERN_C BOOL
376 WINAPI
377 SheShortenPathW(LPWSTR lpPath, BOOL bShorten)
378 {
379     FIXME("SheShortenPathW() stub\n");
380     return FALSE;
381 }
382 
383 /*
384  * Unimplemented
385  */
386 EXTERN_C BOOL
387 WINAPI
388 SheShortenPathA(LPSTR lpPath, BOOL bShorten)
389 {
390     BOOL ret;
391     WCHAR szPath[MAX_PATH];
392     MultiByteToWideChar(CP_ACP, 0, lpPath, -1, szPath, _countof(szPath));
393     ret = SheShortenPathW(szPath, bShorten);
394     WideCharToMultiByte(CP_ACP, 0, szPath, -1, lpPath, MAX_PATH, NULL, NULL);
395     return ret;
396 }
397 
398 /*
399  * Unimplemented
400  */
401 EXTERN_C INT
402 WINAPI
403 SheSetCurDrive(INT iIndex)
404 {
405     FIXME("SheSetCurDrive() stub\n");
406     return 1;
407 }
408 
409 /*
410  * Unimplemented
411  */
412 EXTERN_C INT
413 WINAPI
414 SheGetPathOffsetW(LPWSTR lpPath)
415 {
416     FIXME("SheGetPathOffsetW() stub\n");
417     return 0;
418 }
419 
420 /*
421  * Unimplemented
422  */
423 EXTERN_C BOOL
424 WINAPI
425 SheGetDirExW(LPWSTR lpDrive,
426              LPDWORD lpCurDirLen,
427              LPWSTR lpCurDir)
428 {
429     FIXME("SheGetDirExW() stub\n");
430     return FALSE;
431 }
432 
433 /*
434  * Unimplemented
435  */
436 EXTERN_C INT
437 WINAPI
438 SheGetCurDrive(VOID)
439 {
440     FIXME("SheGetCurDrive() stub\n");
441     return 1;
442 }
443 
444 /*
445  * Unimplemented
446  */
447 EXTERN_C INT
448 WINAPI
449 SheFullPathW(LPWSTR lpFullName, DWORD dwPathSize, LPWSTR lpBuffer)
450 {
451     FIXME("SheFullPathW() stub\n");
452     return 0;
453 }
454 
455 /*
456  * Unimplemented
457  */
458 EXTERN_C INT
459 WINAPI
460 SheFullPathA(LPSTR lpFullName, DWORD dwPathSize, LPSTR lpBuffer)
461 {
462     FIXME("SheFullPathA() stub\n");
463     return 0;
464 }
465 
466 /*
467  * Unimplemented
468  */
469 EXTERN_C BOOL
470 WINAPI
471 SheConvertPathW(LPWSTR lpCmd, LPWSTR lpFileName, UINT uCmdLen)
472 {
473     FIXME("SheConvertPathW() stub\n");
474     return FALSE;
475 }
476 
477 /*
478  * Unimplemented
479  */
480 EXTERN_C INT
481 WINAPI
482 SheChangeDirExW(LPWSTR lpDir)
483 {
484     FIXME("SheChangeDirExW() stub\n");
485     return 0;
486 }
487 
488 /*
489  * Unimplemented
490  */
491 EXTERN_C INT
492 WINAPI
493 SheChangeDirExA(LPSTR lpDir)
494 {
495     FIXME("SheChangeDirExA() stub\n");
496     return 0;
497 }
498 
499 /*
500  * Unimplemented
501  */
502 EXTERN_C BOOL
503 WINAPI
504 SHInvokePrinterCommandW(HWND hwnd,
505                         UINT uAction,
506                         LPCWSTR lpBuf1,
507                         LPCWSTR lpBuf2,
508                         BOOL fModal)
509 {
510     FIXME("SHInvokePrinterCommandW() stub\n");
511     return FALSE;
512 }
513 
514 /*
515  * Unimplemented
516  */
517 EXTERN_C BOOL
518 WINAPI
519 SHInvokePrinterCommandA(HWND hwnd,
520                         UINT uAction,
521                         LPCSTR lpBuf1,
522                         LPCSTR lpBuf2,
523                         BOOL fModal)
524 {
525     FIXME("SHInvokePrinterCommandA() stub\n");
526     return FALSE;
527 }
528 
529 /*
530  * Unimplemented
531  */
532 EXTERN_C BOOL
533 WINAPI
534 SHCreateProcessAsUserW(PSHCREATEPROCESSINFOW pscpi)
535 {
536     FIXME("SHCreateProcessAsUserW() stub\n");
537     return FALSE;
538 }
539 
540 /*
541  * Unimplemented
542  */
543 EXTERN_C HINSTANCE
544 WINAPI
545 RealShellExecuteExA(HWND hwnd,
546                     LPCSTR lpOperation,
547                     LPCSTR lpFile,
548                     LPCSTR lpParameters,
549                     LPCSTR lpDirectory,
550                     LPSTR lpReturn,
551                     LPCSTR lpTitle,
552                     LPSTR lpReserved,
553                     WORD nShowCmd,
554                     HANDLE *lpProcess,
555                     DWORD dwFlags)
556 {
557     FIXME("RealShellExecuteExA() stub\n");
558     return NULL;
559 }
560 
561 /*
562  * Unimplemented
563  */
564 EXTERN_C HINSTANCE
565 WINAPI
566 RealShellExecuteExW(HWND hwnd,
567                     LPCWSTR lpOperation,
568                     LPCWSTR lpFile,
569                     LPCWSTR lpParameters,
570                     LPCWSTR lpDirectory,
571                     LPWSTR lpReturn,
572                     LPCWSTR lpTitle,
573                     LPWSTR lpReserved,
574                     WORD nShowCmd,
575                     HANDLE *lpProcess,
576                     DWORD dwFlags)
577 {
578     FIXME("RealShellExecuteExW() stub\n");
579     return NULL;
580 }
581 
582 /*
583  * Implemented
584  */
585 EXTERN_C HINSTANCE
586 WINAPI
587 RealShellExecuteA(HWND hwnd,
588                   LPCSTR lpOperation,
589                   LPCSTR lpFile,
590                   LPCSTR lpParameters,
591                   LPCSTR lpDirectory,
592                   LPSTR lpReturn,
593                   LPCSTR lpTitle,
594                   LPSTR lpReserved,
595                   WORD nShowCmd,
596                   HANDLE *lpProcess)
597 {
598     return RealShellExecuteExA(hwnd,
599                                lpOperation,
600                                lpFile,
601                                lpParameters,
602                                lpDirectory,
603                                lpReturn,
604                                lpTitle,
605                                lpReserved,
606                                nShowCmd,
607                                lpProcess,
608                                0);
609 }
610 
611 /*
612  * Implemented
613  */
614 EXTERN_C HINSTANCE
615 WINAPI
616 RealShellExecuteW(HWND hwnd,
617                   LPCWSTR lpOperation,
618                   LPCWSTR lpFile,
619                   LPCWSTR lpParameters,
620                   LPCWSTR lpDirectory,
621                   LPWSTR lpReturn,
622                   LPCWSTR lpTitle,
623                   LPWSTR lpReserved,
624                   WORD nShowCmd,
625                   HANDLE *lpProcess)
626 {
627     return RealShellExecuteExW(hwnd,
628                                lpOperation,
629                                lpFile,
630                                lpParameters,
631                                lpDirectory,
632                                lpReturn,
633                                lpTitle,
634                                lpReserved,
635                                nShowCmd,
636                                lpProcess,
637                                0);
638 }
639 
640 /*
641  * Unimplemented
642  */
643 EXTERN_C VOID
644 WINAPI
645 PrintersGetCommand_RunDLL(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
646 {
647     FIXME("PrintersGetCommand_RunDLL() stub\n");
648 }
649 
650 /*
651  * Unimplemented
652  */
653 EXTERN_C VOID
654 WINAPI
655 PrintersGetCommand_RunDLLA(HWND hwnd, HINSTANCE hInstance, LPSTR pszCmdLine, int nCmdShow)
656 {
657     FIXME("PrintersGetCommand_RunDLLA() stub\n");
658 }
659 
660 /*
661  * Unimplemented
662  */
663 EXTERN_C VOID
664 WINAPI
665 PrintersGetCommand_RunDLLW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
666 {
667     FIXME("PrintersGetCommand_RunDLLW() stub\n");
668 }
669 
670 /*
671  * Unimplemented
672  */
673 EXTERN_C IShellFolderViewCB*
674 WINAPI
675 SHGetShellFolderViewCB(HWND hwnd)
676 {
677     FIXME("SHGetShellFolderViewCB() stub\n");
678     return NULL;
679 }
680 
681 /*
682  * Unimplemented
683  */
684 EXTERN_C INT
685 WINAPI
686 SHLookupIconIndexA(LPCSTR lpName, INT iIndex, UINT uFlags)
687 {
688     FIXME("SHLookupIconIndexA() stub\n");
689     return 0;
690 }
691 
692 /*
693  * Unimplemented
694  */
695 EXTERN_C INT
696 WINAPI
697 SHLookupIconIndexW(LPCWSTR lpName, INT iIndex, UINT uFlags)
698 {
699     FIXME("SHLookupIconIndexW() stub\n");
700     return 0;
701 }
702 
703 /*
704  * Unimplemented
705  */
706 EXTERN_C HANDLE
707 WINAPI
708 PifMgr_OpenProperties(LPCWSTR lpAppPath, LPCWSTR lpPifPath, UINT hInfIndex, UINT options)
709 {
710     FIXME("PifMgr_OpenProperties() stub\n");
711     return 0;
712 }
713 
714 /*
715  * Unimplemented
716  */
717 EXTERN_C INT
718 WINAPI
719 PifMgr_GetProperties(HANDLE hHandle, LPCSTR lpName, LPVOID lpUnknown, INT iUnknown, UINT uUnknown)
720 {
721     FIXME("PifMgr_GetProperties() stub\n");
722     return 0;
723 }
724 
725 /*
726  * Unimplemented
727  */
728 EXTERN_C INT
729 WINAPI
730 PifMgr_SetProperties(HANDLE hHandle, LPCSTR lpName, LPCVOID lpUnknown, INT iUnknown, UINT uUnknown)
731 {
732     FIXME("PifMgr_SetProperties() stub\n");
733     return 0;
734 }
735 
736 /*
737  * Unimplemented
738  */
739 EXTERN_C HRESULT
740 WINAPI
741 SHStartNetConnectionDialogA(HWND hwnd,
742                             LPCSTR pszRemoteName,
743                             DWORD dwType)
744 {
745     FIXME("SHStartNetConnectionDialogA() stub\n");
746     return E_FAIL;
747 }
748 
749 /*
750  * Unimplemented
751  */
752 EXTERN_C HRESULT
753 WINAPI
754 SHStartNetConnectionDialogW(HWND hwnd,
755                             LPCWSTR pszRemoteName,
756                             DWORD dwType)
757 {
758     FIXME("SHStartNetConnectionDialogW() stub\n");
759     return E_FAIL;
760 }
761 
762 /*
763  * Unimplemented
764  */
765 EXTERN_C HANDLE
766 WINAPI
767 PifMgr_CloseProperties(HANDLE hHandle, UINT uUnknown)
768 {
769     FIXME("PifMgr_CloseProperties() stub\n");
770     return NULL;
771 }
772 
773 /*
774  * Unimplemented
775  */
776 EXTERN_C BOOL
777 WINAPI
778 DAD_DragEnterEx2(HWND hwndTarget,
779                  POINT ptStart,
780                  IDataObject *pdtObject)
781 {
782     FIXME("DAD_DragEnterEx2() stub\n");
783     return FALSE;
784 }
785 
786 /*
787  * Unimplemented
788  */
789 EXTERN_C BOOL
790 WINAPI
791 IsSuspendAllowed(VOID)
792 {
793     FIXME("IsSuspendAllowed() stub\n");
794     return FALSE;
795 }
796 
797 /*
798  * Unimplemented
799  */
800 EXTERN_C UINT
801 WINAPI
802 SHGetNetResource(LPVOID lpUnknown1, UINT iIndex, LPVOID lpUnknown2, UINT cchMax)
803 {
804     FIXME("SHGetNetResource() stub\n");
805     return 0;
806 }
807 
808 /*
809  * Unimplemented
810  */
811 EXTERN_C BOOL
812 WINAPI
813 DragQueryInfo(HDROP hDrop, DRAGINFO *pDragInfo)
814 {
815     FIXME("DragQueryInfo() stub\n");
816     return FALSE;
817 }
818 
819 /*
820  * Unimplemented
821  */
822 EXTERN_C LPVOID
823 WINAPI
824 DDECreatePostNotify(LPVOID lpUnknown)
825 {
826     FIXME("DDECreatePostNotify() stub\n");
827     return NULL;
828 }
829 
830 /*
831  * Unimplemented
832  */
833 EXTERN_C BOOL
834 WINAPI
835 SHIsBadInterfacePtr(LPVOID pv, UINT ucb)
836 {
837     FIXME("SHIsBadInterfacePtr() stub\n");
838     return FALSE;
839 }
840 
841 /*
842  * Unimplemented
843  */
844 EXTERN_C BOOL
845 WINAPI
846 Activate_RunDLL(DWORD dwProcessId, LPVOID lpUnused1, LPVOID lpUnused2, LPVOID lpUnused3)
847 {
848     FIXME("Activate_RunDLL() stub\n");
849     return FALSE;
850 }
851 
852 /*
853  * Unimplemented
854  */
855 EXTERN_C VOID
856 WINAPI
857 AppCompat_RunDLLW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
858 {
859     FIXME("AppCompat_RunDLLW() stub\n");
860 }
861 
862 /*
863  * Unimplemented
864  */
865 EXTERN_C VOID
866 WINAPI
867 Control_RunDLLAsUserW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
868 {
869     FIXME("Control_RunDLLAsUserW() stub\n");
870 }
871 
872 /*
873  * Unimplemented
874  */
875 EXTERN_C UINT
876 WINAPI
877 DragQueryFileAorW(HDROP hDrop, UINT iIndex, LPWSTR lpFile, UINT ucb, BOOL bUnicode, BOOL bShorten)
878 {
879     FIXME("DragQueryFileAorW() stub\n");
880     return 0;
881 }
882 
883 /*
884  * Unimplemented
885  */
886 EXTERN_C DWORD
887 WINAPI
888 SHNetConnectionDialog(HWND hwndOwner,
889                       LPCWSTR lpstrRemoteName,
890                       DWORD dwType)
891 {
892     FIXME("SHNetConnectionDialog() stub\n");
893     return ERROR_INVALID_PARAMETER;
894 }
895 
896 /*
897  * Unimplemented
898  */
899 EXTERN_C BOOL
900 WINAPI
901 DAD_SetDragImageFromListView(HWND hwnd, POINT pt)
902 {
903     FIXME("DAD_SetDragImageFromListView() stub\n");
904     return FALSE;
905 }
906 
907 /*
908  * Unimplemented
909  */
910 EXTERN_C void
911 WINAPI
912 SHHandleDiskFull(HWND hwndOwner, UINT uDrive)
913 {
914     FIXME("SHHandleDiskFull() stub\n");
915 }
916 
917 /*
918  * Unimplemented
919  */
920 EXTERN_C BOOL
921 WINAPI
922 ILGetPseudoNameW(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2, LPWSTR szStr, INT iUnknown)
923 {
924     /* Unimplemented in WinXP SP3 */
925     TRACE("ILGetPseudoNameW() stub\n");
926     *szStr = 0;
927     return FALSE;
928 }
929 
930 /*
931  * Unimplemented
932  */
933 EXTERN_C VOID
934 WINAPI
935 SHGlobalDefect(DWORD dwUnknown)
936 {
937     /* Unimplemented in WinXP SP3 */
938     TRACE("SHGlobalDefect() stub\n");
939 }
940 
941 /*
942  * Unimplemented
943  */
944 EXTERN_C LPITEMIDLIST
945 WINAPI
946 Printers_GetPidl(LPCITEMIDLIST pidl, LPCWSTR lpName, DWORD dwUnknown1, DWORD dwUnknown2)
947 {
948     FIXME("Printers_GetPidl() stub\n");
949     return NULL;
950 }
951 
952 /*
953  * Unimplemented
954  */
955 EXTERN_C INT
956 WINAPI
957 Int64ToString(LONGLONG llInt64,
958               LPWSTR lpOut,
959               UINT uSize,
960               BOOL bUseFormat,
961               NUMBERFMT *pNumberFormat,
962               DWORD dwNumberFlags)
963 {
964     FIXME("Int64ToString() stub\n");
965     return 0;
966 }
967 
968 /*
969  * Unimplemented
970  */
971 EXTERN_C INT
972 WINAPI
973 LargeIntegerToString(LARGE_INTEGER *pLargeInt,
974                      LPWSTR lpOut,
975                      UINT uSize,
976                      BOOL bUseFormat,
977                      NUMBERFMT *pNumberFormat,
978                      DWORD dwNumberFlags)
979 {
980     FIXME("LargeIntegerToString() stub\n");
981     return 0;
982 }
983 
984 /*
985  * Unimplemented
986  */
987 EXTERN_C LONG
988 WINAPI
989 Printers_AddPrinterPropPages(LPVOID lpUnknown1, LPVOID lpUnknown2)
990 {
991     FIXME("Printers_AddPrinterPropPages() stub\n");
992     return 0;
993 }
994 
995 /*
996  * Unimplemented
997  */
998 EXTERN_C WORD
999 WINAPI
1000 ExtractIconResInfoA(HANDLE hHandle,
1001                     LPSTR lpFile,
1002                     WORD wIndex,
1003                     LPWORD lpSize,
1004                     LPHANDLE lpIcon)
1005 {
1006     FIXME("ExtractIconResInfoA() stub\n");
1007     return 0;
1008 }
1009 
1010 /*
1011  * Unimplemented
1012  */
1013 EXTERN_C WORD
1014 WINAPI
1015 ExtractIconResInfoW(HANDLE hHandle,
1016                     LPWSTR lpFile,
1017                     WORD wIndex,
1018                     LPWORD lpSize,
1019                     LPHANDLE lpIcon)
1020 {
1021     FIXME("ExtractIconResInfoW() stub\n");
1022     return 0;
1023 }
1024 
1025 /*
1026  * Unimplemented
1027  */
1028 EXTERN_C DWORD
1029 WINAPI
1030 ExtractVersionResource16W(LPWSTR lpName, LPHANDLE lpHandle)
1031 {
1032     FIXME("ExtractVersionResource16W() stub\n");
1033     return 0;
1034 }
1035 
1036 /*
1037  * Unimplemented
1038  */
1039 EXTERN_C BOOL*
1040 WINAPI
1041 FindExeDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
1042 {
1043     FIXME("FindExeDlgProc() stub\n");
1044     return 0;
1045 }
1046 
1047 /*
1048  * Unimplemented
1049  */
1050 EXTERN_C HANDLE
1051 WINAPI
1052 InternalExtractIconListW(HANDLE hHandle,
1053                          LPWSTR lpFileName,
1054                          LPINT lpCount)
1055 {
1056     FIXME("InternalExtractIconListW() stub\n");
1057     return NULL;
1058 }
1059 
1060 /*
1061  * Unimplemented
1062  */
1063 EXTERN_C HANDLE
1064 WINAPI
1065 InternalExtractIconListA(HANDLE hHandle,
1066                          LPSTR lpFileName,
1067                          LPINT lpCount)
1068 {
1069     FIXME("InternalExtractIconListA() stub\n");
1070     return NULL;
1071 }
1072 
1073 /*
1074  * Unimplemented
1075  */
1076 EXTERN_C HRESULT
1077 WINAPI
1078 FirstUserLogon(LPWSTR lpUnknown1, LPWSTR lpUnknown2)
1079 {
1080     FIXME("FirstUserLogon() stub\n");
1081     return E_FAIL;
1082 }
1083 
1084 /*
1085  * Unimplemented
1086  */
1087 EXTERN_C HRESULT
1088 WINAPI
1089 SHSetFolderPathA(int csidl,
1090                  HANDLE hToken,
1091                  DWORD dwFlags,
1092                  LPCSTR pszPath)
1093 {
1094     FIXME("SHSetFolderPathA() stub\n");
1095     return E_FAIL;
1096 }
1097 
1098 /*
1099  * Unimplemented
1100  */
1101 EXTERN_C HRESULT
1102 WINAPI
1103 SHSetFolderPathW(int csidl,
1104                  HANDLE hToken,
1105                  DWORD dwFlags,
1106                  LPCWSTR pszPath)
1107 {
1108     FIXME("SHSetFolderPathW() stub\n");
1109     return E_FAIL;
1110 }
1111 
1112 /*
1113  * Unimplemented
1114  */
1115 EXTERN_C HRESULT
1116 WINAPI
1117 SHGetUserPicturePathW(LPCWSTR lpPath, int csidl, LPVOID lpUnknown)
1118 {
1119     FIXME("SHGetUserPicturePathW() stub\n");
1120     return E_FAIL;
1121 }
1122 
1123 /*
1124  * Unimplemented
1125  */
1126 EXTERN_C HRESULT
1127 WINAPI
1128 SHSetUserPicturePathW(LPCWSTR lpPath, int csidl, LPVOID lpUnknown)
1129 {
1130     FIXME("SHGetUserPicturePathA() stub\n");
1131     return E_FAIL;
1132 }
1133 
1134 /*
1135  * Unimplemented
1136  */
1137 EXTERN_C BOOL
1138 WINAPI
1139 SHOpenEffectiveToken(LPVOID Token)
1140 {
1141     FIXME("SHOpenEffectiveToken() stub\n");
1142     return FALSE;
1143 }
1144 
1145 /*
1146  * Unimplemented
1147  */
1148 EXTERN_C BOOL
1149 WINAPI
1150 SHTestTokenPrivilegeW(HANDLE hToken, LPDWORD ReturnLength)
1151 {
1152     FIXME("SHTestTokenPrivilegeW() stub\n");
1153     return FALSE;
1154 }
1155 
1156 /*
1157  * Unimplemented
1158  */
1159 EXTERN_C BOOL
1160 WINAPI
1161 SHShouldShowWizards(LPVOID lpUnknown)
1162 {
1163     FIXME("SHShouldShowWizards() stub\n");
1164     return FALSE;
1165 }
1166 
1167 /*
1168  * Unimplemented
1169  */
1170 EXTERN_C BOOL
1171 WINAPI
1172 PathIsSlowW(LPCWSTR pszFile, DWORD dwFileAttr)
1173 {
1174     FIXME("PathIsSlowW() stub\n");
1175     return FALSE;
1176 }
1177 
1178 /*
1179  * Unimplemented
1180  */
1181 EXTERN_C BOOL
1182 WINAPI
1183 PathIsSlowA(LPCSTR pszFile, DWORD dwFileAttr)
1184 {
1185     FIXME("PathIsSlowA() stub\n");
1186     return FALSE;
1187 }
1188 
1189 /*
1190  * Unimplemented
1191  */
1192 EXTERN_C DWORD
1193 WINAPI
1194 SHGetUserDisplayName(LPWSTR lpName, PULONG puSize)
1195 {
1196     FIXME("SHGetUserDisplayName() stub\n");
1197     wcscpy(lpName, L"UserName");
1198     return ERROR_SUCCESS;
1199 }
1200 
1201 /*
1202  * Unimplemented
1203  */
1204 EXTERN_C DWORD
1205 WINAPI
1206 SHGetProcessDword(DWORD dwUnknown1, DWORD dwUnknown2)
1207 {
1208     /* Unimplemented in WinXP SP3 */
1209     TRACE("SHGetProcessDword() stub\n");
1210     return 0;
1211 }
1212 
1213 /*
1214  * Unimplemented
1215  */
1216 EXTERN_C LPVOID
1217 WINAPI
1218 SHGetUserSessionId(HANDLE hHandle)
1219 {
1220     FIXME("SHGetUserSessionId() stub\n");
1221     return NULL;
1222 }
1223 
1224 EXTERN_C
1225 DWORD WINAPI CheckStagingArea(VOID)
1226 {
1227     /* Called by native explorer */
1228     return 0;
1229 }
1230 
1231 EXTERN_C
1232 DWORD WINAPI SHGetComputerDisplayNameW(DWORD param1, DWORD param2, DWORD param3, DWORD param4)
1233 {
1234     FIXME("SHGetComputerDisplayNameW() stub\n");
1235     return E_FAIL;
1236 }
1237 
1238 /*
1239  * Unimplemented
1240  */
1241 EXTERN_C HINSTANCE
1242 WINAPI
1243 SHGetShellStyleHInstance(VOID)
1244 {
1245     FIXME("SHGetShellStyleHInstance() stub\n");
1246     return NULL;
1247 }
1248