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