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