xref: /reactos/dll/win32/shell32/stubs.cpp (revision aad80191)
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 BOOL
650 WINAPI
651 RegenerateUserEnvironment(LPVOID *lpUnknown, BOOL bUnknown)
652 {
653     FIXME("RegenerateUserEnvironment() stub\n");
654     return FALSE;
655 }
656 
657 /*
658  * Unimplemented
659  */
660 EXTERN_C HINSTANCE
661 WINAPI
662 RealShellExecuteExA(HWND hwnd,
663                     LPCSTR lpOperation,
664                     LPCSTR lpFile,
665                     LPCSTR lpParameters,
666                     LPCSTR lpDirectory,
667                     LPSTR lpReturn,
668                     LPCSTR lpTitle,
669                     LPSTR lpReserved,
670                     WORD nShowCmd,
671                     HANDLE *lpProcess,
672                     DWORD dwFlags)
673 {
674     FIXME("RealShellExecuteExA() stub\n");
675     return NULL;
676 }
677 
678 /*
679  * Unimplemented
680  */
681 EXTERN_C HINSTANCE
682 WINAPI
683 RealShellExecuteExW(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                     DWORD dwFlags)
694 {
695     FIXME("RealShellExecuteExW() stub\n");
696     return NULL;
697 }
698 
699 /*
700  * Implemented
701  */
702 EXTERN_C HINSTANCE
703 WINAPI
704 RealShellExecuteA(HWND hwnd,
705                   LPCSTR lpOperation,
706                   LPCSTR lpFile,
707                   LPCSTR lpParameters,
708                   LPCSTR lpDirectory,
709                   LPSTR lpReturn,
710                   LPCSTR lpTitle,
711                   LPSTR lpReserved,
712                   WORD nShowCmd,
713                   HANDLE *lpProcess)
714 {
715     return RealShellExecuteExA(hwnd,
716                                lpOperation,
717                                lpFile,
718                                lpParameters,
719                                lpDirectory,
720                                lpReturn,
721                                lpTitle,
722                                lpReserved,
723                                nShowCmd,
724                                lpProcess,
725                                0);
726 }
727 
728 /*
729  * Implemented
730  */
731 EXTERN_C HINSTANCE
732 WINAPI
733 RealShellExecuteW(HWND hwnd,
734                   LPCWSTR lpOperation,
735                   LPCWSTR lpFile,
736                   LPCWSTR lpParameters,
737                   LPCWSTR lpDirectory,
738                   LPWSTR lpReturn,
739                   LPCWSTR lpTitle,
740                   LPWSTR lpReserved,
741                   WORD nShowCmd,
742                   HANDLE *lpProcess)
743 {
744     return RealShellExecuteExW(hwnd,
745                                lpOperation,
746                                lpFile,
747                                lpParameters,
748                                lpDirectory,
749                                lpReturn,
750                                lpTitle,
751                                lpReserved,
752                                nShowCmd,
753                                lpProcess,
754                                0);
755 }
756 
757 /*
758  * Unimplemented
759  */
760 EXTERN_C VOID
761 WINAPI
762 PrintersGetCommand_RunDLL(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
763 {
764     FIXME("PrintersGetCommand_RunDLL() stub\n");
765 }
766 
767 /*
768  * Unimplemented
769  */
770 EXTERN_C VOID
771 WINAPI
772 PrintersGetCommand_RunDLLA(HWND hwnd, HINSTANCE hInstance, LPSTR pszCmdLine, int nCmdShow)
773 {
774     FIXME("PrintersGetCommand_RunDLLA() stub\n");
775 }
776 
777 /*
778  * Unimplemented
779  */
780 EXTERN_C VOID
781 WINAPI
782 PrintersGetCommand_RunDLLW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
783 {
784     FIXME("PrintersGetCommand_RunDLLW() stub\n");
785 }
786 
787 /*
788  * Unimplemented
789  */
790 EXTERN_C IShellFolderViewCB*
791 WINAPI
792 SHGetShellFolderViewCB(HWND hwnd)
793 {
794     FIXME("SHGetShellFolderViewCB() stub\n");
795     return NULL;
796 }
797 
798 /*
799  * Unimplemented
800  */
801 EXTERN_C INT
802 WINAPI
803 SHLookupIconIndexA(LPCSTR lpName, INT iIndex, UINT uFlags)
804 {
805     FIXME("SHLookupIconIndexA() stub\n");
806     return 0;
807 }
808 
809 /*
810  * Unimplemented
811  */
812 EXTERN_C INT
813 WINAPI
814 SHLookupIconIndexW(LPCWSTR lpName, INT iIndex, UINT uFlags)
815 {
816     FIXME("SHLookupIconIndexW() stub\n");
817     return 0;
818 }
819 
820 /*
821  * Unimplemented
822  */
823 EXTERN_C HANDLE
824 WINAPI
825 PifMgr_OpenProperties(LPCWSTR lpAppPath, LPCWSTR lpPifPath, UINT hInfIndex, UINT options)
826 {
827     FIXME("PifMgr_OpenProperties() stub\n");
828     return 0;
829 }
830 
831 /*
832  * Unimplemented
833  */
834 EXTERN_C INT
835 WINAPI
836 PifMgr_GetProperties(HANDLE hHandle, LPCSTR lpName, LPVOID lpUnknown, INT iUnknown, UINT uUnknown)
837 {
838     FIXME("PifMgr_GetProperties() stub\n");
839     return 0;
840 }
841 
842 /*
843  * Unimplemented
844  */
845 EXTERN_C INT
846 WINAPI
847 PifMgr_SetProperties(HANDLE hHandle, LPCSTR lpName, LPCVOID lpUnknown, INT iUnknown, UINT uUnknown)
848 {
849     FIXME("PifMgr_SetProperties() stub\n");
850     return 0;
851 }
852 
853 /*
854  * Unimplemented
855  */
856 EXTERN_C HRESULT
857 WINAPI
858 SHStartNetConnectionDialogA(HWND hwnd,
859                             LPCSTR pszRemoteName,
860                             DWORD dwType)
861 {
862     FIXME("SHStartNetConnectionDialogA() stub\n");
863     return E_FAIL;
864 }
865 
866 /*
867  * Unimplemented
868  */
869 EXTERN_C HRESULT
870 WINAPI
871 SHStartNetConnectionDialogW(HWND hwnd,
872                             LPCWSTR pszRemoteName,
873                             DWORD dwType)
874 {
875     FIXME("SHStartNetConnectionDialogW() stub\n");
876     return E_FAIL;
877 }
878 
879 /*
880  * Unimplemented
881  */
882 EXTERN_C HANDLE
883 WINAPI
884 PifMgr_CloseProperties(HANDLE hHandle, UINT uUnknown)
885 {
886     FIXME("PifMgr_CloseProperties() stub\n");
887     return NULL;
888 }
889 
890 /*
891  * Unimplemented
892  */
893 EXTERN_C BOOL
894 WINAPI
895 DAD_DragEnterEx2(HWND hwndTarget,
896                  POINT ptStart,
897                  IDataObject *pdtObject)
898 {
899     FIXME("DAD_DragEnterEx2() stub\n");
900     return FALSE;
901 }
902 
903 /*
904  * Unimplemented
905  */
906 EXTERN_C BOOL
907 WINAPI
908 IsSuspendAllowed(VOID)
909 {
910     FIXME("IsSuspendAllowed() stub\n");
911     return FALSE;
912 }
913 
914 /*
915  * Unimplemented
916  */
917 EXTERN_C UINT
918 WINAPI
919 SHGetNetResource(LPVOID lpUnknown1, UINT iIndex, LPVOID lpUnknown2, UINT cchMax)
920 {
921     FIXME("SHGetNetResource() stub\n");
922     return 0;
923 }
924 
925 /*
926  * Unimplemented
927  */
928 EXTERN_C BOOL
929 WINAPI
930 DragQueryInfo(HDROP hDrop, DRAGINFO *pDragInfo)
931 {
932     FIXME("DragQueryInfo() stub\n");
933     return FALSE;
934 }
935 
936 /*
937  * Unimplemented
938  */
939 EXTERN_C LPVOID
940 WINAPI
941 DDECreatePostNotify(LPVOID lpUnknown)
942 {
943     FIXME("DDECreatePostNotify() stub\n");
944     return NULL;
945 }
946 
947 /*
948  * Unimplemented
949  */
950 EXTERN_C BOOL
951 WINAPI
952 SHIsBadInterfacePtr(LPVOID pv, UINT ucb)
953 {
954     FIXME("SHIsBadInterfacePtr() stub\n");
955     return FALSE;
956 }
957 
958 /*
959  * Unimplemented
960  */
961 EXTERN_C BOOL
962 WINAPI
963 Activate_RunDLL(DWORD dwProcessId, LPVOID lpUnused1, LPVOID lpUnused2, LPVOID lpUnused3)
964 {
965     FIXME("Activate_RunDLL() stub\n");
966     return FALSE;
967 }
968 
969 /*
970  * Unimplemented
971  */
972 EXTERN_C VOID
973 WINAPI
974 AppCompat_RunDLLW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
975 {
976     FIXME("AppCompat_RunDLLW() stub\n");
977 }
978 
979 /*
980  * Unimplemented
981  */
982 EXTERN_C VOID
983 WINAPI
984 Control_RunDLLAsUserW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
985 {
986     FIXME("Control_RunDLLAsUserW() stub\n");
987 }
988 
989 /*
990  * Unimplemented
991  */
992 EXTERN_C UINT
993 WINAPI
994 DragQueryFileAorW(HDROP hDrop, UINT iIndex, LPWSTR lpFile, UINT ucb, BOOL bUnicode, BOOL bShorten)
995 {
996     FIXME("DragQueryFileAorW() stub\n");
997     return 0;
998 }
999 
1000 /*
1001  * Unimplemented
1002  */
1003 EXTERN_C DWORD
1004 WINAPI
1005 SHNetConnectionDialog(HWND hwndOwner,
1006                       LPCWSTR lpstrRemoteName,
1007                       DWORD dwType)
1008 {
1009     FIXME("SHNetConnectionDialog() stub\n");
1010     return ERROR_INVALID_PARAMETER;
1011 }
1012 
1013 /*
1014  * Unimplemented
1015  */
1016 EXTERN_C BOOL
1017 WINAPI
1018 DAD_SetDragImageFromListView(HWND hwnd, POINT pt)
1019 {
1020     FIXME("DAD_SetDragImageFromListView() stub\n");
1021     return FALSE;
1022 }
1023 
1024 /*
1025  * Unimplemented
1026  */
1027 EXTERN_C void
1028 WINAPI
1029 SHHandleDiskFull(HWND hwndOwner, UINT uDrive)
1030 {
1031     FIXME("SHHandleDiskFull() stub\n");
1032 }
1033 
1034 /*
1035  * Unimplemented
1036  */
1037 EXTERN_C BOOL
1038 WINAPI
1039 ILGetPseudoNameW(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2, LPWSTR szStr, INT iUnknown)
1040 {
1041     /* Unimplemented in WinXP SP3 */
1042     TRACE("ILGetPseudoNameW() stub\n");
1043     *szStr = 0;
1044     return FALSE;
1045 }
1046 
1047 /*
1048  * Unimplemented
1049  */
1050 EXTERN_C VOID
1051 WINAPI
1052 SHGlobalDefect(DWORD dwUnknown)
1053 {
1054     /* Unimplemented in WinXP SP3 */
1055     TRACE("SHGlobalDefect() stub\n");
1056 }
1057 
1058 /*
1059  * Unimplemented
1060  */
1061 EXTERN_C LPITEMIDLIST
1062 WINAPI
1063 Printers_GetPidl(LPCITEMIDLIST pidl, LPCWSTR lpName, DWORD dwUnknown1, DWORD dwUnknown2)
1064 {
1065     FIXME("Printers_GetPidl() stub\n");
1066     return NULL;
1067 }
1068 
1069 /*
1070  * Unimplemented
1071  */
1072 EXTERN_C INT
1073 WINAPI
1074 Int64ToString(LONGLONG llInt64,
1075               LPWSTR lpOut,
1076               UINT uSize,
1077               BOOL bUseFormat,
1078               NUMBERFMT *pNumberFormat,
1079               DWORD dwNumberFlags)
1080 {
1081     FIXME("Int64ToString() stub\n");
1082     return 0;
1083 }
1084 
1085 /*
1086  * Unimplemented
1087  */
1088 EXTERN_C INT
1089 WINAPI
1090 LargeIntegerToString(LARGE_INTEGER *pLargeInt,
1091                      LPWSTR lpOut,
1092                      UINT uSize,
1093                      BOOL bUseFormat,
1094                      NUMBERFMT *pNumberFormat,
1095                      DWORD dwNumberFlags)
1096 {
1097     FIXME("LargeIntegerToString() stub\n");
1098     return 0;
1099 }
1100 
1101 /*
1102  * Unimplemented
1103  */
1104 EXTERN_C LONG
1105 WINAPI
1106 Printers_AddPrinterPropPages(LPVOID lpUnknown1, LPVOID lpUnknown2)
1107 {
1108     FIXME("Printers_AddPrinterPropPages() stub\n");
1109     return 0;
1110 }
1111 
1112 /*
1113  * Unimplemented
1114  */
1115 EXTERN_C WORD
1116 WINAPI
1117 ExtractIconResInfoA(HANDLE hHandle,
1118                     LPSTR lpFile,
1119                     WORD wIndex,
1120                     LPWORD lpSize,
1121                     LPHANDLE lpIcon)
1122 {
1123     FIXME("ExtractIconResInfoA() stub\n");
1124     return 0;
1125 }
1126 
1127 /*
1128  * Unimplemented
1129  */
1130 EXTERN_C WORD
1131 WINAPI
1132 ExtractIconResInfoW(HANDLE hHandle,
1133                     LPWSTR lpFile,
1134                     WORD wIndex,
1135                     LPWORD lpSize,
1136                     LPHANDLE lpIcon)
1137 {
1138     FIXME("ExtractIconResInfoW() stub\n");
1139     return 0;
1140 }
1141 
1142 /*
1143  * Unimplemented
1144  */
1145 EXTERN_C DWORD
1146 WINAPI
1147 ExtractVersionResource16W(LPWSTR lpName, LPHANDLE lpHandle)
1148 {
1149     FIXME("ExtractVersionResource16W() stub\n");
1150     return 0;
1151 }
1152 
1153 /*
1154  * Unimplemented
1155  */
1156 EXTERN_C BOOL*
1157 WINAPI
1158 FindExeDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
1159 {
1160     FIXME("FindExeDlgProc() stub\n");
1161     return 0;
1162 }
1163 
1164 /*
1165  * Unimplemented
1166  */
1167 EXTERN_C HANDLE
1168 WINAPI
1169 InternalExtractIconListW(HANDLE hHandle,
1170                          LPWSTR lpFileName,
1171                          LPINT lpCount)
1172 {
1173     FIXME("InternalExtractIconListW() stub\n");
1174     return NULL;
1175 }
1176 
1177 /*
1178  * Unimplemented
1179  */
1180 EXTERN_C HANDLE
1181 WINAPI
1182 InternalExtractIconListA(HANDLE hHandle,
1183                          LPSTR lpFileName,
1184                          LPINT lpCount)
1185 {
1186     FIXME("InternalExtractIconListA() stub\n");
1187     return NULL;
1188 }
1189 
1190 /*
1191  * Unimplemented
1192  */
1193 EXTERN_C HRESULT
1194 WINAPI
1195 FirstUserLogon(LPWSTR lpUnknown1, LPWSTR lpUnknown2)
1196 {
1197     FIXME("FirstUserLogon() stub\n");
1198     return E_FAIL;
1199 }
1200 
1201 /*
1202  * Unimplemented
1203  */
1204 EXTERN_C HRESULT
1205 WINAPI
1206 SHSetFolderPathA(int csidl,
1207                  HANDLE hToken,
1208                  DWORD dwFlags,
1209                  LPCSTR pszPath)
1210 {
1211     FIXME("SHSetFolderPathA() stub\n");
1212     return E_FAIL;
1213 }
1214 
1215 /*
1216  * Unimplemented
1217  */
1218 EXTERN_C HRESULT
1219 WINAPI
1220 SHSetFolderPathW(int csidl,
1221                  HANDLE hToken,
1222                  DWORD dwFlags,
1223                  LPCWSTR pszPath)
1224 {
1225     FIXME("SHSetFolderPathW() stub\n");
1226     return E_FAIL;
1227 }
1228 
1229 /*
1230  * Unimplemented
1231  */
1232 EXTERN_C HRESULT
1233 WINAPI
1234 SHGetUserPicturePathW(LPCWSTR lpPath, int csidl, LPVOID lpUnknown)
1235 {
1236     FIXME("SHGetUserPicturePathW() stub\n");
1237     return E_FAIL;
1238 }
1239 
1240 /*
1241  * Unimplemented
1242  */
1243 EXTERN_C HRESULT
1244 WINAPI
1245 SHSetUserPicturePathW(LPCWSTR lpPath, int csidl, LPVOID lpUnknown)
1246 {
1247     FIXME("SHGetUserPicturePathA() stub\n");
1248     return E_FAIL;
1249 }
1250 
1251 /*
1252  * Unimplemented
1253  */
1254 EXTERN_C BOOL
1255 WINAPI
1256 SHOpenEffectiveToken(LPVOID Token)
1257 {
1258     FIXME("SHOpenEffectiveToken() stub\n");
1259     return FALSE;
1260 }
1261 
1262 /*
1263  * Unimplemented
1264  */
1265 EXTERN_C BOOL
1266 WINAPI
1267 SHTestTokenPrivilegeW(HANDLE hToken, LPDWORD ReturnLength)
1268 {
1269     FIXME("SHTestTokenPrivilegeW() stub\n");
1270     return FALSE;
1271 }
1272 
1273 /*
1274  * Unimplemented
1275  */
1276 EXTERN_C BOOL
1277 WINAPI
1278 SHShouldShowWizards(LPVOID lpUnknown)
1279 {
1280     FIXME("SHShouldShowWizards() stub\n");
1281     return FALSE;
1282 }
1283 
1284 /*
1285  * Unimplemented
1286  */
1287 EXTERN_C BOOL
1288 WINAPI
1289 PathIsSlowW(LPCWSTR pszFile, DWORD dwFileAttr)
1290 {
1291     FIXME("PathIsSlowW() stub\n");
1292     return FALSE;
1293 }
1294 
1295 /*
1296  * Unimplemented
1297  */
1298 EXTERN_C BOOL
1299 WINAPI
1300 PathIsSlowA(LPCSTR pszFile, DWORD dwFileAttr)
1301 {
1302     FIXME("PathIsSlowA() stub\n");
1303     return FALSE;
1304 }
1305 
1306 /*
1307  * Unimplemented
1308  */
1309 EXTERN_C DWORD
1310 WINAPI
1311 SHGetUserDisplayName(LPWSTR lpName, PULONG puSize)
1312 {
1313     FIXME("SHGetUserDisplayName() stub\n");
1314     wcscpy(lpName, L"UserName");
1315     return ERROR_SUCCESS;
1316 }
1317 
1318 /*
1319  * Unimplemented
1320  */
1321 EXTERN_C DWORD
1322 WINAPI
1323 SHGetProcessDword(DWORD dwUnknown1, DWORD dwUnknown2)
1324 {
1325     /* Unimplemented in WinXP SP3 */
1326     TRACE("SHGetProcessDword() stub\n");
1327     return 0;
1328 }
1329 
1330 /*
1331  * Unimplemented
1332  */
1333 EXTERN_C BOOL
1334 WINAPI
1335 SHTestTokenMembership(HANDLE TokenHandle, ULONG SidToCheck)
1336 {
1337     FIXME("SHTestTokenMembership() stub\n");
1338     return FALSE;
1339 }
1340 
1341 /*
1342  * Unimplemented
1343  */
1344 EXTERN_C LPVOID
1345 WINAPI
1346 SHGetUserSessionId(HANDLE hHandle)
1347 {
1348     FIXME("SHGetUserSessionId() stub\n");
1349     return NULL;
1350 }
1351 
1352 EXTERN_C
1353 DWORD WINAPI CheckStagingArea(VOID)
1354 {
1355     /* Called by native explorer */
1356     return 0;
1357 }
1358 
1359 EXTERN_C
1360 DWORD WINAPI SHGetComputerDisplayNameW(DWORD param1, DWORD param2, DWORD param3, DWORD param4)
1361 {
1362     FIXME("SHGetComputerDisplayNameW() stub\n");
1363     return E_FAIL;
1364 }
1365