xref: /reactos/dll/win32/shell32/stubs.cpp (revision 2e7f8711)
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 static HRESULT DataObject_GetHIDACount(IDataObject *pdo)
132 {
133     if (!pdo)
134         return E_INVALIDARG;
135     CDataObjectHIDA cida(pdo);
136     HRESULT hr = cida.hr();
137     return SUCCEEDED(hr) ? cida->cidl : hr;
138 }
139 
140 /*
141  * Unimplemented
142  */
143 EXTERN_C HRESULT
144 WINAPI
145 SHMultiFileProperties(IDataObject *pDataObject, DWORD dwFlags)
146 {
147     FIXME("SHMultiFileProperties() stub\n");
148 
149     // Temporary workaround to display a property sheet if possible
150     if (DataObject_GetHIDACount(pDataObject) == 1)
151         return SHELL32_ShowPropertiesDialog(pDataObject);
152 
153     if (pDataObject)
154     {
155         HWND hWnd;
156         if (FAILED(IUnknown_GetWindow(pDataObject, &hWnd))) // Will probably not work but we have no other option
157             hWnd = NULL;
158         SHELL_ErrorBox(hWnd, HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED));
159     }
160 
161     return E_FAIL;
162 }
163 
164 /*
165  * Unimplemented
166  */
167 EXTERN_C HRESULT
168 WINAPI
169 SHCopyMonikerToTemp(IMoniker *pMoniker, LPCWSTR lpInput, LPWSTR lpOutput, INT cchMax)
170 {
171     /* Unimplemented in XP SP3 */
172     TRACE("SHCopyMonikerToTemp() stub\n");
173     return E_FAIL;
174 }
175 
176 /*
177  * Unimplemented
178  */
179 EXTERN_C HLOCAL
180 WINAPI
181 CheckWinIniForAssocs(VOID)
182 {
183     FIXME("CheckWinIniForAssocs() stub\n");
184     return NULL;
185 }
186 
187 /*
188  * Unimplemented
189  */
190 EXTERN_C HRESULT
191 WINAPI
192 SHGetSetFolderCustomSettingsW(LPSHFOLDERCUSTOMSETTINGSW pfcs,
193                               LPCWSTR pszPath,
194                               DWORD dwReadWrite)
195 {
196     FIXME("SHGetSetFolderCustomSettingsW() stub\n");
197     return E_FAIL;
198 }
199 
200 /*
201  * Unimplemented
202  */
203 EXTERN_C HRESULT
204 WINAPI
205 SHGetSetFolderCustomSettingsA(LPSHFOLDERCUSTOMSETTINGSA pfcs,
206                               LPCSTR pszPath,
207                               DWORD dwReadWrite)
208 {
209     FIXME("SHGetSetFolderCustomSettingsA() stub\n");
210     return E_FAIL;
211 }
212 
213 /*
214  * Unimplemented
215  */
216 EXTERN_C VOID
217 WINAPI
218 CDefFolderMenu_MergeMenu(HINSTANCE hInstance,
219                          UINT uMainMerge,
220                          UINT uPopupMerge,
221                          LPQCMINFO lpQcmInfo)
222 {
223     FIXME("CDefFolderMenu_MergeMenu() stub\n");
224 }
225 
226 /*
227  * Unimplemented
228  */
229 EXTERN_C HRESULT
230 WINAPI
231 CDefFolderMenu_Create(LPITEMIDLIST pidlFolder,
232                       HWND hwnd,
233                       UINT uidl,
234                       PCUITEMID_CHILD_ARRAY *apidl,
235                       IShellFolder *psf,
236                       LPFNDFMCALLBACK lpfn,
237                       HKEY hProgID,
238                       HKEY hBaseProgID,
239                       IContextMenu **ppcm)
240 {
241     FIXME("CDefFolderMenu_Create() stub\n");
242     return E_FAIL;
243 }
244 
245 /*
246  * Unimplemented
247  */
248 EXTERN_C VOID
249 WINAPI
250 SHWaitOp_Operate(LPVOID lpUnknown1, DWORD dwUnknown2)
251 {
252     FIXME("SHWaitOp_Operate() stub\n");
253 }
254 
255 /*
256  * Unimplemented
257  */
258 EXTERN_C INT
259 WINAPI
260 RealDriveTypeFlags(INT iDrive, BOOL bUnknown)
261 {
262     FIXME("RealDriveTypeFlags() stub\n");
263     return 1;
264 }
265 
266 /*
267  * Unimplemented
268  */
269 EXTERN_C LPWSTR
270 WINAPI
271 StrRStrW(LPWSTR lpSrc, LPWSTR lpLast, LPWSTR lpSearch)
272 {
273     FIXME("StrRStrW() stub\n");
274     return NULL;
275 }
276 
277 /*
278  * Unimplemented
279  */
280 EXTERN_C LPWSTR
281 WINAPI
282 StrRStrA(LPSTR lpSrc, LPSTR lpLast, LPSTR lpSearch)
283 {
284     FIXME("StrRStrA() stub\n");
285     return NULL;
286 }
287 
288 /*
289  * Unimplemented
290  */
291 EXTERN_C LONG
292 WINAPI
293 ShellHookProc(INT iCode, WPARAM wParam, LPARAM lParam)
294 {
295     /* Unimplemented in WinXP SP3 */
296     TRACE("ShellHookProc() stub\n");
297     return 0;
298 }
299 
300 /*
301  * Unimplemented
302  */
303 EXTERN_C VOID
304 WINAPI
305 ShellExec_RunDLL(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
306 {
307     FIXME("ShellExec_RunDLL() stub\n");
308 }
309 
310 /*
311  * Unimplemented
312  */
313 EXTERN_C VOID
314 WINAPI
315 ShellExec_RunDLLA(HWND hwnd, HINSTANCE hInstance, LPSTR pszCmdLine, int nCmdShow)
316 {
317     FIXME("ShellExec_RunDLLA() stub\n");
318 }
319 
320 /*
321  * Unimplemented
322  */
323 EXTERN_C VOID
324 WINAPI
325 ShellExec_RunDLLW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
326 {
327     FIXME("ShellExec_RunDLLW() stub\n");
328 }
329 
330 /*
331  * Unimplemented
332  */
333 EXTERN_C BOOL
334 WINAPI
335 SheShortenPathW(LPWSTR lpPath, BOOL bShorten)
336 {
337     FIXME("SheShortenPathW() stub\n");
338     return FALSE;
339 }
340 
341 /*
342  * Unimplemented
343  */
344 EXTERN_C BOOL
345 WINAPI
346 SheShortenPathA(LPSTR lpPath, BOOL bShorten)
347 {
348     BOOL ret;
349     WCHAR szPath[MAX_PATH];
350     MultiByteToWideChar(CP_ACP, 0, lpPath, -1, szPath, _countof(szPath));
351     ret = SheShortenPathW(szPath, bShorten);
352     WideCharToMultiByte(CP_ACP, 0, szPath, -1, lpPath, MAX_PATH, NULL, NULL);
353     return ret;
354 }
355 
356 /*
357  * Unimplemented
358  */
359 EXTERN_C INT
360 WINAPI
361 SheSetCurDrive(INT iIndex)
362 {
363     FIXME("SheSetCurDrive() stub\n");
364     return 1;
365 }
366 
367 /*
368  * Unimplemented
369  */
370 EXTERN_C INT
371 WINAPI
372 SheGetPathOffsetW(LPWSTR lpPath)
373 {
374     FIXME("SheGetPathOffsetW() stub\n");
375     return 0;
376 }
377 
378 /*
379  * Unimplemented
380  */
381 EXTERN_C BOOL
382 WINAPI
383 SheGetDirExW(LPWSTR lpDrive,
384              LPDWORD lpCurDirLen,
385              LPWSTR lpCurDir)
386 {
387     FIXME("SheGetDirExW() stub\n");
388     return FALSE;
389 }
390 
391 /*
392  * Unimplemented
393  */
394 EXTERN_C INT
395 WINAPI
396 SheGetCurDrive(VOID)
397 {
398     FIXME("SheGetCurDrive() stub\n");
399     return 1;
400 }
401 
402 /*
403  * Unimplemented
404  */
405 EXTERN_C INT
406 WINAPI
407 SheFullPathW(LPWSTR lpFullName, DWORD dwPathSize, LPWSTR lpBuffer)
408 {
409     FIXME("SheFullPathW() stub\n");
410     return 0;
411 }
412 
413 /*
414  * Unimplemented
415  */
416 EXTERN_C INT
417 WINAPI
418 SheFullPathA(LPSTR lpFullName, DWORD dwPathSize, LPSTR lpBuffer)
419 {
420     FIXME("SheFullPathA() stub\n");
421     return 0;
422 }
423 
424 /*
425  * Unimplemented
426  */
427 EXTERN_C BOOL
428 WINAPI
429 SheConvertPathW(LPWSTR lpCmd, LPWSTR lpFileName, UINT uCmdLen)
430 {
431     FIXME("SheConvertPathW() stub\n");
432     return FALSE;
433 }
434 
435 /*
436  * Unimplemented
437  */
438 EXTERN_C INT
439 WINAPI
440 SheChangeDirExW(LPWSTR lpDir)
441 {
442     FIXME("SheChangeDirExW() stub\n");
443     return 0;
444 }
445 
446 /*
447  * Unimplemented
448  */
449 EXTERN_C INT
450 WINAPI
451 SheChangeDirExA(LPSTR lpDir)
452 {
453     FIXME("SheChangeDirExA() stub\n");
454     return 0;
455 }
456 
457 /*
458  * Unimplemented
459  */
460 EXTERN_C BOOL
461 WINAPI
462 SHInvokePrinterCommandW(HWND hwnd,
463                         UINT uAction,
464                         LPCWSTR lpBuf1,
465                         LPCWSTR lpBuf2,
466                         BOOL fModal)
467 {
468     FIXME("SHInvokePrinterCommandW() stub\n");
469     return FALSE;
470 }
471 
472 /*
473  * Unimplemented
474  */
475 EXTERN_C BOOL
476 WINAPI
477 SHInvokePrinterCommandA(HWND hwnd,
478                         UINT uAction,
479                         LPCSTR lpBuf1,
480                         LPCSTR lpBuf2,
481                         BOOL fModal)
482 {
483     FIXME("SHInvokePrinterCommandA() stub\n");
484     return FALSE;
485 }
486 
487 /*
488  * Unimplemented
489  */
490 EXTERN_C BOOL
491 WINAPI
492 SHCreateProcessAsUserW(PSHCREATEPROCESSINFOW pscpi)
493 {
494     FIXME("SHCreateProcessAsUserW() stub\n");
495     return FALSE;
496 }
497 
498 /*
499  * Unimplemented
500  */
501 EXTERN_C VOID
502 WINAPI
503 PrintersGetCommand_RunDLL(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
504 {
505     FIXME("PrintersGetCommand_RunDLL() stub\n");
506 }
507 
508 /*
509  * Unimplemented
510  */
511 EXTERN_C VOID
512 WINAPI
513 PrintersGetCommand_RunDLLA(HWND hwnd, HINSTANCE hInstance, LPSTR pszCmdLine, int nCmdShow)
514 {
515     FIXME("PrintersGetCommand_RunDLLA() stub\n");
516 }
517 
518 /*
519  * Unimplemented
520  */
521 EXTERN_C VOID
522 WINAPI
523 PrintersGetCommand_RunDLLW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
524 {
525     FIXME("PrintersGetCommand_RunDLLW() stub\n");
526 }
527 
528 /*
529  * Unimplemented
530  */
531 EXTERN_C IShellFolderViewCB*
532 WINAPI
533 SHGetShellFolderViewCB(HWND hwnd)
534 {
535     FIXME("SHGetShellFolderViewCB() stub\n");
536     return NULL;
537 }
538 
539 /*
540  * Unimplemented
541  */
542 EXTERN_C INT
543 WINAPI
544 SHLookupIconIndexA(LPCSTR lpName, INT iIndex, UINT uFlags)
545 {
546     FIXME("SHLookupIconIndexA() stub\n");
547     return 0;
548 }
549 
550 /*
551  * Unimplemented
552  */
553 EXTERN_C INT
554 WINAPI
555 SHLookupIconIndexW(LPCWSTR lpName, INT iIndex, UINT uFlags)
556 {
557     FIXME("SHLookupIconIndexW() stub\n");
558     return 0;
559 }
560 
561 /*
562  * Unimplemented
563  */
564 EXTERN_C HANDLE
565 WINAPI
566 PifMgr_OpenProperties(LPCWSTR lpAppPath, LPCWSTR lpPifPath, UINT hInfIndex, UINT options)
567 {
568     FIXME("PifMgr_OpenProperties() stub\n");
569     return 0;
570 }
571 
572 /*
573  * Unimplemented
574  */
575 EXTERN_C INT
576 WINAPI
577 PifMgr_GetProperties(HANDLE hHandle, LPCSTR lpName, LPVOID lpUnknown, INT iUnknown, UINT uUnknown)
578 {
579     FIXME("PifMgr_GetProperties() stub\n");
580     return 0;
581 }
582 
583 /*
584  * Unimplemented
585  */
586 EXTERN_C INT
587 WINAPI
588 PifMgr_SetProperties(HANDLE hHandle, LPCSTR lpName, LPCVOID lpUnknown, INT iUnknown, UINT uUnknown)
589 {
590     FIXME("PifMgr_SetProperties() stub\n");
591     return 0;
592 }
593 
594 /*
595  * Unimplemented
596  */
597 EXTERN_C HRESULT
598 WINAPI
599 SHStartNetConnectionDialogW(
600     _In_ HWND hwnd,
601     _In_ LPCWSTR pszRemoteName,
602     _In_ DWORD dwType)
603 {
604     FIXME("SHStartNetConnectionDialogW() stub\n");
605     return E_FAIL;
606 }
607 
608 /*
609  * Unimplemented
610  */
611 EXTERN_C HANDLE
612 WINAPI
613 PifMgr_CloseProperties(HANDLE hHandle, UINT uUnknown)
614 {
615     FIXME("PifMgr_CloseProperties() stub\n");
616     return NULL;
617 }
618 
619 /*
620  * Unimplemented
621  */
622 EXTERN_C BOOL
623 WINAPI
624 DAD_DragEnterEx2(HWND hwndTarget,
625                  POINT ptStart,
626                  IDataObject *pdtObject)
627 {
628     FIXME("DAD_DragEnterEx2() stub\n");
629     return FALSE;
630 }
631 
632 /*
633  * Unimplemented
634  */
635 EXTERN_C UINT
636 WINAPI
637 SHGetNetResource(LPVOID lpUnknown1, UINT iIndex, LPVOID lpUnknown2, UINT cchMax)
638 {
639     FIXME("SHGetNetResource() stub\n");
640     return 0;
641 }
642 
643 /*
644  * Unimplemented
645  */
646 EXTERN_C BOOL
647 WINAPI
648 DragQueryInfo(HDROP hDrop, DRAGINFO *pDragInfo)
649 {
650     FIXME("DragQueryInfo() stub\n");
651     return FALSE;
652 }
653 
654 /*
655  * Unimplemented
656  */
657 EXTERN_C LPVOID
658 WINAPI
659 DDECreatePostNotify(LPVOID lpUnknown)
660 {
661     FIXME("DDECreatePostNotify() stub\n");
662     return NULL;
663 }
664 
665 /*
666  * Unimplemented
667  */
668 EXTERN_C BOOL
669 WINAPI
670 SHIsBadInterfacePtr(LPVOID pv, UINT ucb)
671 {
672     FIXME("SHIsBadInterfacePtr() stub\n");
673     return FALSE;
674 }
675 
676 /*
677  * Unimplemented
678  */
679 EXTERN_C VOID
680 WINAPI
681 AppCompat_RunDLLW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
682 {
683     FIXME("AppCompat_RunDLLW() stub\n");
684 }
685 
686 /*
687  * Unimplemented
688  */
689 EXTERN_C VOID
690 WINAPI
691 Control_RunDLLAsUserW(HWND hwnd, HINSTANCE hInstance, LPWSTR pszCmdLine, int nCmdShow)
692 {
693     FIXME("Control_RunDLLAsUserW() stub\n");
694 }
695 
696 /*
697  * Unimplemented
698  */
699 EXTERN_C UINT
700 WINAPI
701 DragQueryFileAorW(HDROP hDrop, UINT iIndex, LPWSTR lpFile, UINT ucb, BOOL bUnicode, BOOL bShorten)
702 {
703     FIXME("DragQueryFileAorW() stub\n");
704     return 0;
705 }
706 
707 /*
708  * Unimplemented
709  */
710 EXTERN_C DWORD
711 WINAPI
712 SHNetConnectionDialog(HWND hwndOwner,
713                       LPCWSTR lpstrRemoteName,
714                       DWORD dwType)
715 {
716     FIXME("SHNetConnectionDialog() stub\n");
717     return ERROR_INVALID_PARAMETER;
718 }
719 
720 /*
721  * Unimplemented
722  */
723 EXTERN_C BOOL
724 WINAPI
725 DAD_SetDragImageFromListView(HWND hwnd, POINT pt)
726 {
727     FIXME("DAD_SetDragImageFromListView() stub\n");
728     return FALSE;
729 }
730 
731 /*
732  * Unimplemented
733  */
734 EXTERN_C void
735 WINAPI
736 SHHandleDiskFull(HWND hwndOwner, UINT uDrive)
737 {
738     FIXME("SHHandleDiskFull() stub\n");
739 }
740 
741 /*
742  * Unimplemented
743  */
744 EXTERN_C BOOL
745 WINAPI
746 ILGetPseudoNameW(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2, LPWSTR szStr, INT iUnknown)
747 {
748     /* Unimplemented in WinXP SP3 */
749     TRACE("ILGetPseudoNameW() stub\n");
750     *szStr = 0;
751     return FALSE;
752 }
753 
754 /*
755  * Unimplemented
756  */
757 EXTERN_C VOID
758 WINAPI
759 SHGlobalDefect(DWORD dwUnknown)
760 {
761     /* Unimplemented in WinXP SP3 */
762     TRACE("SHGlobalDefect() stub\n");
763 }
764 
765 /*
766  * Unimplemented
767  */
768 EXTERN_C LPITEMIDLIST
769 WINAPI
770 Printers_GetPidl(LPCITEMIDLIST pidl, LPCWSTR lpName, DWORD dwUnknown1, DWORD dwUnknown2)
771 {
772     FIXME("Printers_GetPidl() stub\n");
773     return NULL;
774 }
775 
776 /*
777  * Unimplemented
778  */
779 EXTERN_C LONG
780 WINAPI
781 Printers_AddPrinterPropPages(LPVOID lpUnknown1, LPVOID lpUnknown2)
782 {
783     FIXME("Printers_AddPrinterPropPages() stub\n");
784     return 0;
785 }
786 
787 /*
788  * Unimplemented
789  */
790 EXTERN_C WORD
791 WINAPI
792 ExtractIconResInfoW(
793     _In_ HANDLE hHandle,
794     _In_ LPCWSTR lpFileName,
795     _In_ WORD wIndex,
796     _Out_ LPWORD lpSize,
797     _Out_ LPHANDLE lpIcon)
798 {
799     FIXME("ExtractIconResInfoW() stub\n");
800     return 0;
801 }
802 
803 /*
804  * Unimplemented
805  */
806 EXTERN_C DWORD
807 WINAPI
808 ExtractVersionResource16W(LPWSTR lpName, LPHANDLE lpHandle)
809 {
810     FIXME("ExtractVersionResource16W() stub\n");
811     return 0;
812 }
813 
814 /*
815  * Unimplemented
816  */
817 EXTERN_C BOOL*
818 WINAPI
819 FindExeDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
820 {
821     FIXME("FindExeDlgProc() stub\n");
822     return 0;
823 }
824 
825 /*
826  * Unimplemented
827  */
828 EXTERN_C HANDLE
829 WINAPI
830 InternalExtractIconListW(HANDLE hHandle,
831                          LPWSTR lpFileName,
832                          LPINT lpCount)
833 {
834     FIXME("InternalExtractIconListW() stub\n");
835     return NULL;
836 }
837 
838 /*
839  * Unimplemented
840  */
841 EXTERN_C HANDLE
842 WINAPI
843 InternalExtractIconListA(HANDLE hHandle,
844                          LPSTR lpFileName,
845                          LPINT lpCount)
846 {
847     FIXME("InternalExtractIconListA() stub\n");
848     return NULL;
849 }
850 
851 /*
852  * Unimplemented
853  */
854 EXTERN_C HRESULT
855 WINAPI
856 FirstUserLogon(LPWSTR lpUnknown1, LPWSTR lpUnknown2)
857 {
858     FIXME("FirstUserLogon() stub\n");
859     return E_FAIL;
860 }
861 
862 /*
863  * Unimplemented
864  */
865 EXTERN_C HRESULT
866 WINAPI
867 SHSetFolderPathW(
868     _In_ INT csidl,
869     _In_ HANDLE hToken,
870     _In_ DWORD dwFlags,
871     _In_ LPCWSTR pszPath)
872 {
873     FIXME("SHSetFolderPathW() stub\n");
874     return E_FAIL;
875 }
876 
877 /*
878  * Unimplemented
879  */
880 EXTERN_C HRESULT
881 WINAPI
882 SHGetUserPicturePathW(LPCWSTR lpPath, int csidl, LPVOID lpUnknown)
883 {
884     FIXME("SHGetUserPicturePathW() stub\n");
885     return E_FAIL;
886 }
887 
888 /*
889  * Unimplemented
890  */
891 EXTERN_C HRESULT
892 WINAPI
893 SHSetUserPicturePathW(LPCWSTR lpPath, int csidl, LPVOID lpUnknown)
894 {
895     FIXME("SHGetUserPicturePathA() stub\n");
896     return E_FAIL;
897 }
898 
899 /*
900  * Unimplemented
901  */
902 EXTERN_C BOOL
903 WINAPI
904 PathIsSlowW(
905     _In_ LPCWSTR pszFile,
906     _In_ DWORD dwAttr)
907 {
908     FIXME("PathIsSlowW() stub\n");
909     return FALSE;
910 }
911 
912 /*
913  * Unimplemented
914  */
915 EXTERN_C DWORD
916 WINAPI
917 SHGetProcessDword(DWORD dwUnknown1, DWORD dwUnknown2)
918 {
919     /* Unimplemented in WinXP SP3 */
920     TRACE("SHGetProcessDword() stub\n");
921     return 0;
922 }
923 
924 EXTERN_C
925 DWORD WINAPI CheckStagingArea(VOID)
926 {
927     /* Called by native explorer */
928     return 0;
929 }
930 
931 EXTERN_C
932 DWORD WINAPI SHGetComputerDisplayNameW(DWORD param1, DWORD param2, DWORD param3, DWORD param4)
933 {
934     FIXME("SHGetComputerDisplayNameW() stub\n");
935     return E_FAIL;
936 }
937