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