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