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