xref: /reactos/dll/win32/shell32/stubs.cpp (revision de5c4720)
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 VOID
499 WINAPI
500 PrintersGetCommand_RunDLL(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
501 {
502     FIXME("PrintersGetCommand_RunDLL() stub\n");
503 }
504 
505 /*
506  * Unimplemented
507  */
508 EXTERN_C VOID
509 WINAPI
510 PrintersGetCommand_RunDLLA(HWND hwnd, HINSTANCE hInstance, LPSTR pszCmdLine, int nCmdShow)
511 {
512     FIXME("PrintersGetCommand_RunDLLA() stub\n");
513 }
514 
515 /*
516  * Unimplemented
517  */
518 EXTERN_C VOID
519 WINAPI
520 PrintersGetCommand_RunDLLW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
521 {
522     FIXME("PrintersGetCommand_RunDLLW() stub\n");
523 }
524 
525 /*
526  * Unimplemented
527  */
528 EXTERN_C IShellFolderViewCB*
529 WINAPI
530 SHGetShellFolderViewCB(HWND hwnd)
531 {
532     FIXME("SHGetShellFolderViewCB() stub\n");
533     return NULL;
534 }
535 
536 /*
537  * Unimplemented
538  */
539 EXTERN_C INT
540 WINAPI
541 SHLookupIconIndexA(LPCSTR lpName, INT iIndex, UINT uFlags)
542 {
543     FIXME("SHLookupIconIndexA() stub\n");
544     return 0;
545 }
546 
547 /*
548  * Unimplemented
549  */
550 EXTERN_C INT
551 WINAPI
552 SHLookupIconIndexW(LPCWSTR lpName, INT iIndex, UINT uFlags)
553 {
554     FIXME("SHLookupIconIndexW() stub\n");
555     return 0;
556 }
557 
558 /*
559  * Unimplemented
560  */
561 EXTERN_C HANDLE
562 WINAPI
563 PifMgr_OpenProperties(LPCWSTR lpAppPath, LPCWSTR lpPifPath, UINT hInfIndex, UINT options)
564 {
565     FIXME("PifMgr_OpenProperties() stub\n");
566     return 0;
567 }
568 
569 /*
570  * Unimplemented
571  */
572 EXTERN_C INT
573 WINAPI
574 PifMgr_GetProperties(HANDLE hHandle, LPCSTR lpName, LPVOID lpUnknown, INT iUnknown, UINT uUnknown)
575 {
576     FIXME("PifMgr_GetProperties() stub\n");
577     return 0;
578 }
579 
580 /*
581  * Unimplemented
582  */
583 EXTERN_C INT
584 WINAPI
585 PifMgr_SetProperties(HANDLE hHandle, LPCSTR lpName, LPCVOID lpUnknown, INT iUnknown, UINT uUnknown)
586 {
587     FIXME("PifMgr_SetProperties() stub\n");
588     return 0;
589 }
590 
591 /*
592  * Unimplemented
593  */
594 EXTERN_C HRESULT
595 WINAPI
596 SHStartNetConnectionDialogW(
597     _In_ HWND hwnd,
598     _In_ LPCWSTR pszRemoteName,
599     _In_ DWORD dwType)
600 {
601     FIXME("SHStartNetConnectionDialogW() stub\n");
602     return E_FAIL;
603 }
604 
605 /*
606  * Unimplemented
607  */
608 EXTERN_C HANDLE
609 WINAPI
610 PifMgr_CloseProperties(HANDLE hHandle, UINT uUnknown)
611 {
612     FIXME("PifMgr_CloseProperties() stub\n");
613     return NULL;
614 }
615 
616 /*
617  * Unimplemented
618  */
619 EXTERN_C BOOL
620 WINAPI
621 DAD_DragEnterEx2(HWND hwndTarget,
622                  POINT ptStart,
623                  IDataObject *pdtObject)
624 {
625     FIXME("DAD_DragEnterEx2() stub\n");
626     return FALSE;
627 }
628 
629 /*
630  * Unimplemented
631  */
632 EXTERN_C UINT
633 WINAPI
634 SHGetNetResource(LPVOID lpUnknown1, UINT iIndex, LPVOID lpUnknown2, UINT cchMax)
635 {
636     FIXME("SHGetNetResource() stub\n");
637     return 0;
638 }
639 
640 /*
641  * Unimplemented
642  */
643 EXTERN_C BOOL
644 WINAPI
645 DragQueryInfo(HDROP hDrop, DRAGINFO *pDragInfo)
646 {
647     FIXME("DragQueryInfo() stub\n");
648     return FALSE;
649 }
650 
651 /*
652  * Unimplemented
653  */
654 EXTERN_C LPVOID
655 WINAPI
656 DDECreatePostNotify(LPVOID lpUnknown)
657 {
658     FIXME("DDECreatePostNotify() stub\n");
659     return NULL;
660 }
661 
662 /*
663  * Unimplemented
664  */
665 EXTERN_C BOOL
666 WINAPI
667 SHIsBadInterfacePtr(LPVOID pv, UINT ucb)
668 {
669     FIXME("SHIsBadInterfacePtr() stub\n");
670     return FALSE;
671 }
672 
673 /*
674  * Unimplemented
675  */
676 EXTERN_C VOID
677 WINAPI
678 AppCompat_RunDLLW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
679 {
680     FIXME("AppCompat_RunDLLW() stub\n");
681 }
682 
683 /*
684  * Unimplemented
685  */
686 EXTERN_C VOID
687 WINAPI
688 Control_RunDLLAsUserW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
689 {
690     FIXME("Control_RunDLLAsUserW() stub\n");
691 }
692 
693 /*
694  * Unimplemented
695  */
696 EXTERN_C UINT
697 WINAPI
698 DragQueryFileAorW(HDROP hDrop, UINT iIndex, LPWSTR lpFile, UINT ucb, BOOL bUnicode, BOOL bShorten)
699 {
700     FIXME("DragQueryFileAorW() stub\n");
701     return 0;
702 }
703 
704 /*
705  * Unimplemented
706  */
707 EXTERN_C DWORD
708 WINAPI
709 SHNetConnectionDialog(HWND hwndOwner,
710                       LPCWSTR lpstrRemoteName,
711                       DWORD dwType)
712 {
713     FIXME("SHNetConnectionDialog() stub\n");
714     return ERROR_INVALID_PARAMETER;
715 }
716 
717 /*
718  * Unimplemented
719  */
720 EXTERN_C BOOL
721 WINAPI
722 DAD_SetDragImageFromListView(HWND hwnd, POINT pt)
723 {
724     FIXME("DAD_SetDragImageFromListView() stub\n");
725     return FALSE;
726 }
727 
728 /*
729  * Unimplemented
730  */
731 EXTERN_C void
732 WINAPI
733 SHHandleDiskFull(HWND hwndOwner, UINT uDrive)
734 {
735     FIXME("SHHandleDiskFull() stub\n");
736 }
737 
738 /*
739  * Unimplemented
740  */
741 EXTERN_C BOOL
742 WINAPI
743 ILGetPseudoNameW(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2, LPWSTR szStr, INT iUnknown)
744 {
745     /* Unimplemented in WinXP SP3 */
746     TRACE("ILGetPseudoNameW() stub\n");
747     *szStr = 0;
748     return FALSE;
749 }
750 
751 /*
752  * Unimplemented
753  */
754 EXTERN_C VOID
755 WINAPI
756 SHGlobalDefect(DWORD dwUnknown)
757 {
758     /* Unimplemented in WinXP SP3 */
759     TRACE("SHGlobalDefect() stub\n");
760 }
761 
762 /*
763  * Unimplemented
764  */
765 EXTERN_C LPITEMIDLIST
766 WINAPI
767 Printers_GetPidl(LPCITEMIDLIST pidl, LPCWSTR lpName, DWORD dwUnknown1, DWORD dwUnknown2)
768 {
769     FIXME("Printers_GetPidl() stub\n");
770     return NULL;
771 }
772 
773 /*
774  * Unimplemented
775  */
776 EXTERN_C LONG
777 WINAPI
778 Printers_AddPrinterPropPages(LPVOID lpUnknown1, LPVOID lpUnknown2)
779 {
780     FIXME("Printers_AddPrinterPropPages() stub\n");
781     return 0;
782 }
783 
784 /*
785  * Unimplemented
786  */
787 EXTERN_C WORD
788 WINAPI
789 ExtractIconResInfoW(
790     _In_ HANDLE hHandle,
791     _In_ LPCWSTR lpFileName,
792     _In_ WORD wIndex,
793     _Out_ LPWORD lpSize,
794     _Out_ LPHANDLE lpIcon)
795 {
796     FIXME("ExtractIconResInfoW() stub\n");
797     return 0;
798 }
799 
800 /*
801  * Unimplemented
802  */
803 EXTERN_C DWORD
804 WINAPI
805 ExtractVersionResource16W(LPWSTR lpName, LPHANDLE lpHandle)
806 {
807     FIXME("ExtractVersionResource16W() stub\n");
808     return 0;
809 }
810 
811 /*
812  * Unimplemented
813  */
814 EXTERN_C BOOL*
815 WINAPI
816 FindExeDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
817 {
818     FIXME("FindExeDlgProc() stub\n");
819     return 0;
820 }
821 
822 /*
823  * Unimplemented
824  */
825 EXTERN_C HANDLE
826 WINAPI
827 InternalExtractIconListW(HANDLE hHandle,
828                          LPWSTR lpFileName,
829                          LPINT lpCount)
830 {
831     FIXME("InternalExtractIconListW() stub\n");
832     return NULL;
833 }
834 
835 /*
836  * Unimplemented
837  */
838 EXTERN_C HANDLE
839 WINAPI
840 InternalExtractIconListA(HANDLE hHandle,
841                          LPSTR lpFileName,
842                          LPINT lpCount)
843 {
844     FIXME("InternalExtractIconListA() stub\n");
845     return NULL;
846 }
847 
848 /*
849  * Unimplemented
850  */
851 EXTERN_C HRESULT
852 WINAPI
853 FirstUserLogon(LPWSTR lpUnknown1, LPWSTR lpUnknown2)
854 {
855     FIXME("FirstUserLogon() stub\n");
856     return E_FAIL;
857 }
858 
859 /*
860  * Unimplemented
861  */
862 EXTERN_C HRESULT
863 WINAPI
864 SHSetFolderPathW(
865     _In_ INT csidl,
866     _In_ HANDLE hToken,
867     _In_ DWORD dwFlags,
868     _In_ LPCWSTR pszPath)
869 {
870     FIXME("SHSetFolderPathW() stub\n");
871     return E_FAIL;
872 }
873 
874 /*
875  * Unimplemented
876  */
877 EXTERN_C HRESULT
878 WINAPI
879 SHGetUserPicturePathW(LPCWSTR lpPath, int csidl, LPVOID lpUnknown)
880 {
881     FIXME("SHGetUserPicturePathW() stub\n");
882     return E_FAIL;
883 }
884 
885 /*
886  * Unimplemented
887  */
888 EXTERN_C HRESULT
889 WINAPI
890 SHSetUserPicturePathW(LPCWSTR lpPath, int csidl, LPVOID lpUnknown)
891 {
892     FIXME("SHGetUserPicturePathA() stub\n");
893     return E_FAIL;
894 }
895 
896 /*
897  * Unimplemented
898  */
899 EXTERN_C BOOL
900 WINAPI
901 SHShouldShowWizards(LPVOID lpUnknown)
902 {
903     FIXME("SHShouldShowWizards() stub\n");
904     return FALSE;
905 }
906 
907 /*
908  * Unimplemented
909  */
910 EXTERN_C BOOL
911 WINAPI
912 PathIsSlowW(
913     _In_ LPCWSTR pszFile,
914     _In_ DWORD dwAttr)
915 {
916     FIXME("PathIsSlowW() stub\n");
917     return FALSE;
918 }
919 
920 /*
921  * Unimplemented
922  */
923 EXTERN_C DWORD
924 WINAPI
925 SHGetUserDisplayName(LPWSTR lpName, PULONG puSize)
926 {
927     FIXME("SHGetUserDisplayName() stub\n");
928     wcscpy(lpName, L"UserName");
929     return ERROR_SUCCESS;
930 }
931 
932 /*
933  * Unimplemented
934  */
935 EXTERN_C DWORD
936 WINAPI
937 SHGetProcessDword(DWORD dwUnknown1, DWORD dwUnknown2)
938 {
939     /* Unimplemented in WinXP SP3 */
940     TRACE("SHGetProcessDword() stub\n");
941     return 0;
942 }
943 
944 EXTERN_C
945 DWORD WINAPI CheckStagingArea(VOID)
946 {
947     /* Called by native explorer */
948     return 0;
949 }
950 
951 EXTERN_C
952 DWORD WINAPI SHGetComputerDisplayNameW(DWORD param1, DWORD param2, DWORD param3, DWORD param4)
953 {
954     FIXME("SHGetComputerDisplayNameW() stub\n");
955     return E_FAIL;
956 }
957