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