shell32: Implement "make new folder" functionality in SHBrowseForFolder.
[wine] / dlls / setupapi / stubs.c
1 /*
2  * SetupAPI stubs
3  *
4  * Copyright 2000 James Hatheway
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20
21 #include <stdarg.h>
22
23 #include "wine/debug.h"
24 #include "windef.h"
25 #include "winbase.h"
26 #include "wingdi.h"
27 #include "winuser.h"
28 #include "winreg.h"
29 #include "cfgmgr32.h"
30 #include "setupapi.h"
31 #include "winnls.h"
32
33 WINE_DEFAULT_DEBUG_CHANNEL(setupapi);
34
35 /***********************************************************************
36  *              CM_Connect_MachineA  (SETUPAPI.@)
37  */
38 CONFIGRET WINAPI CM_Connect_MachineA(PCSTR name, PHMACHINE machine)
39 {
40   FIXME("(%s %p) stub\n", name, machine);
41   return CR_ACCESS_DENIED;
42 }
43
44 /***********************************************************************
45  *              CM_Connect_MachineW  (SETUPAPI.@)
46  */
47 CONFIGRET WINAPI CM_Connect_MachineW(PCWSTR name, PHMACHINE machine)
48 {
49   FIXME("\n");
50   return  CR_ACCESS_DENIED;
51 }
52
53 /***********************************************************************
54  *              CM_Create_DevNodeA  (SETUPAPI.@)
55  */
56 CONFIGRET WINAPI CM_Create_DevNodeA(PDEVINST pdnDevInst, DEVINSTID_A pDeviceID, DEVINST dnParent, ULONG ulFlags)
57 {
58   FIXME("(%p %s 0x%08x 0x%08x) stub\n", pdnDevInst, pDeviceID, dnParent, ulFlags);
59   return CR_SUCCESS;
60 }
61
62 /***********************************************************************
63  *              CM_Create_DevNodeW  (SETUPAPI.@)
64  */
65 CONFIGRET WINAPI CM_Create_DevNodeW(PDEVINST pdnDevInst, DEVINSTID_W pDeviceID, DEVINST dnParent, ULONG ulFlags)
66 {
67   FIXME("(%p %s 0x%08x 0x%08x) stub\n", pdnDevInst, debugstr_w(pDeviceID), dnParent, ulFlags);
68   return CR_SUCCESS;
69 }
70
71 /***********************************************************************
72  *              CM_Disconnect_Machine  (SETUPAPI.@)
73  */
74 CONFIGRET WINAPI CM_Disconnect_Machine(HMACHINE handle)
75 {
76   FIXME("\n");
77   return  CR_SUCCESS;
78
79 }
80
81 /***********************************************************************
82  *             CM_Get_Device_ID_ExW  (SETUPAPI.@)
83  */
84 DWORD WINAPI CM_Get_Device_ID_ExW(
85     DEVINST dnDevInst, PWCHAR Buffer, ULONG BufferLen, ULONG ulFlags, HMACHINE hMachine)
86 {
87     FIXME("0x%08x %p 0x%08x 0x%08x %p\n", dnDevInst, Buffer, BufferLen, ulFlags, hMachine);
88     return CR_SUCCESS;
89 }
90
91 /***********************************************************************
92  *             CM_Get_Device_ID_ListA  (SETUPAPI.@)
93  */
94 CONFIGRET WINAPI CM_Get_Device_ID_ListA(
95     PCSTR pszFilter, PCHAR Buffer, ULONG BufferLen, ULONG ulFlags )
96 {
97     FIXME("%s %p %d 0x%08x\n", debugstr_a(pszFilter), Buffer, BufferLen, ulFlags);
98
99     if (BufferLen >= 2) Buffer[0] = Buffer[1] = 0;
100     return CR_SUCCESS;
101 }
102
103 /***********************************************************************
104  *             CM_Get_Device_ID_ListW  (SETUPAPI.@)
105  */
106 CONFIGRET WINAPI CM_Get_Device_ID_ListW(
107     PCWSTR pszFilter, PWCHAR Buffer, ULONG BufferLen, ULONG ulFlags )
108 {
109     FIXME("%s %p %d 0x%08x\n", debugstr_w(pszFilter), Buffer, BufferLen, ulFlags);
110
111     if (BufferLen >= 2) Buffer[0] = Buffer[1] = 0;
112     return CR_SUCCESS;
113 }
114
115 /***********************************************************************
116  *             CM_Get_Device_ID_List_SizeA  (SETUPAPI.@)
117  */
118 CONFIGRET WINAPI CM_Get_Device_ID_List_SizeA( PULONG  pulLen, PCSTR  pszFilter, ULONG  ulFlags )
119 {
120     FIXME("%p %s 0x%08x\n", pulLen, debugstr_a(pszFilter), ulFlags);
121
122     return CR_SUCCESS;
123 }
124
125 /***********************************************************************
126  *             CM_Get_Device_ID_List_SizeW  (SETUPAPI.@)
127  */
128 CONFIGRET WINAPI CM_Get_Device_ID_List_SizeW( PULONG  pulLen, PCWSTR  pszFilter, ULONG  ulFlags )
129 {
130     FIXME("%p %s 0x%08x\n", pulLen, debugstr_w(pszFilter), ulFlags);
131
132     return CR_SUCCESS;
133 }
134
135 /***********************************************************************
136  *              CM_Get_Parent (SETUPAPI.@)
137  */
138 DWORD WINAPI CM_Get_Parent(PDEVINST pdnDevInst, DEVINST dnDevInst, ULONG ulFlags)
139 {
140     FIXME("%p 0x%08x 0x%08x stub\n", pdnDevInst, dnDevInst, ulFlags);
141     *pdnDevInst = dnDevInst;
142     return CR_SUCCESS;
143 }
144
145 /***********************************************************************
146  *              SetupInitializeFileLogW(SETUPAPI.@)
147  */
148 HSPFILELOG WINAPI SetupInitializeFileLogW(LPCWSTR LogFileName, DWORD Flags)
149 {
150     FIXME("Stub %s, 0x%x\n",debugstr_w(LogFileName),Flags);
151     return INVALID_HANDLE_VALUE;
152 }
153
154 /***********************************************************************
155  *              SetupInitializeFileLogA(SETUPAPI.@)
156  */
157 HSPFILELOG WINAPI SetupInitializeFileLogA(LPCSTR LogFileName, DWORD Flags)
158 {
159     FIXME("Stub %s, 0x%x\n",debugstr_a(LogFileName),Flags);
160     return INVALID_HANDLE_VALUE;
161 }
162
163 /***********************************************************************
164  *              SetupTerminateFileLog(SETUPAPI.@)
165  */
166 BOOL WINAPI SetupTerminateFileLog(HANDLE FileLogHandle)
167 {
168     FIXME ("Stub %p\n",FileLogHandle);
169     return TRUE;
170 }
171
172 /***********************************************************************
173  *              RegistryDelnode(SETUPAPI.@)
174  */
175 BOOL WINAPI RegistryDelnode(DWORD x, DWORD y)
176 {
177     FIXME("%08x %08x: stub\n", x, y);
178     return FALSE;
179 }
180
181 /***********************************************************************
182  *      SetupCloseLog(SETUPAPI.@)
183  */
184 void WINAPI SetupCloseLog(void)
185 {
186     FIXME("() stub\n");
187 }
188
189 /***********************************************************************
190  *      SetupLogErrorW(SETUPAPI.@)
191  */
192 BOOL WINAPI SetupLogErrorW(LPCWSTR MessageString, LogSeverity Severity)
193 {
194     FIXME("(%s, %d) stub\n", debugstr_w(MessageString), Severity);
195     return TRUE;
196 }
197
198 /***********************************************************************
199  *      SetupOpenLog(SETUPAPI.@)
200  */
201 BOOL WINAPI SetupOpenLog(BOOL Reserved)
202 {
203     FIXME("(%d) stub\n", Reserved);
204     return TRUE;
205 }
206
207 /***********************************************************************
208  *      SetupPromptReboot(SETUPAPI.@)
209  */
210 INT WINAPI SetupPromptReboot( HSPFILEQ file_queue, HWND owner, BOOL scan_only )
211 {
212     FIXME("%p, %p, %d\n", file_queue, owner, scan_only);
213     return 0;
214 }
215
216 /***********************************************************************
217  *      SetupQueryDrivesInDiskSpaceListA (SETUPAPI.@)
218  */
219 BOOL WINAPI SetupQueryDrivesInDiskSpaceListA(HDSKSPC disk_space, PSTR return_buffer, DWORD return_buffer_size, PDWORD required_size)
220 {
221     FIXME("%p, %p, %d, %p\n", disk_space, return_buffer, return_buffer_size, required_size);
222     return FALSE;
223 }
224
225 /***********************************************************************
226  *      SetupQueryDrivesInDiskSpaceListW (SETUPAPI.@)
227  */
228 BOOL WINAPI SetupQueryDrivesInDiskSpaceListW(HDSKSPC disk_space, PWSTR return_buffer, DWORD return_buffer_size, PDWORD required_size)
229 {
230     FIXME("%p, %p, %d, %p\n", disk_space, return_buffer, return_buffer_size, required_size);
231     return FALSE;
232 }
233
234 /***********************************************************************
235  *      SetupSetSourceListA (SETUPAPI.@)
236  */
237 BOOL WINAPI SetupSetSourceListA(DWORD flags, PCSTR *list, UINT count)
238 {
239     FIXME("0x%08x %p %d\n", flags, list, count);
240     return FALSE;
241 }
242
243 /***********************************************************************
244  *      SetupSetSourceListW (SETUPAPI.@)
245  */
246 BOOL WINAPI SetupSetSourceListW(DWORD flags, PCWSTR *list, UINT count)
247 {
248     FIXME("0x%08x %p %d\n", flags, list, count);
249     return FALSE;
250 }
251
252 /***********************************************************************
253  *      SetupDiDestroyClassImageList (SETUPAPI.@)
254  */
255 BOOL WINAPI SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA ClassListImageData)
256 {
257     FIXME("(%p) stub\n", ClassListImageData);
258     return TRUE;
259 }
260
261 /***********************************************************************
262  *      SetupDiGetClassImageList (SETUPAPI.@)
263  */
264 BOOL WINAPI SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA ClassImageListData)
265 {
266     FIXME("(%p) stub\n", ClassImageListData);
267     return FALSE;
268 }
269
270 /***********************************************************************
271  *      SetupDiGetClassImageList (SETUPAPI.@)
272  */
273 BOOL WINAPI SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA ClassImageListData, const GUID *class, PINT index)
274 {
275     FIXME("%p %p %p\n", ClassImageListData, class, index);
276     return FALSE;
277 }
278
279 /***********************************************************************
280  *      SetupDiOpenDeviceInfoA (SETUPAPI.@)
281  */
282 BOOL WINAPI SetupDiOpenDeviceInfoA(HDEVINFO DeviceInfoSet, PCSTR DeviceInstanceId,
283         HWND hwndParent, DWORD OpenFlags, PSP_DEVINFO_DATA DeviceInfoData)
284 {
285     FIXME("%p %s %p 0x%08x %p\n", DeviceInfoSet, debugstr_a(DeviceInstanceId),
286           hwndParent, OpenFlags, DeviceInfoData);
287     return FALSE;
288 }
289
290 /***********************************************************************
291  *      SetupDiOpenDeviceInfoW (SETUPAPI.@)
292  */
293 BOOL WINAPI SetupDiOpenDeviceInfoW(HDEVINFO DeviceInfoSet, PCWSTR DeviceInstanceId,
294         HWND hwndParent, DWORD OpenFlags, PSP_DEVINFO_DATA DeviceInfoData)
295 {
296     FIXME("%p %s %p 0x%08x %p\n", DeviceInfoSet, debugstr_w(DeviceInstanceId),
297           hwndParent, OpenFlags, DeviceInfoData);
298     return FALSE;
299 }
300
301 /***********************************************************************
302  *      CM_Locate_DevNodeA (SETUPAPI.@)
303  */
304 CONFIGRET WINAPI CM_Locate_DevNodeA(PDEVINST pdnDevInst, DEVINSTID_A pDeviceID, ULONG ulFlags)
305 {
306     FIXME("%p %s 0x%08x: stub\n", pdnDevInst, debugstr_a(pDeviceID), ulFlags);
307
308     return CR_FAILURE;
309 }
310
311 /***********************************************************************
312  *      CM_Locate_DevNodeW (SETUPAPI.@)
313  */
314 CONFIGRET WINAPI CM_Locate_DevNodeW(PDEVINST pdnDevInst, DEVINSTID_W pDeviceID, ULONG ulFlags)
315 {
316     FIXME("%p %s 0x%08x: stub\n", pdnDevInst, debugstr_w(pDeviceID), ulFlags);
317
318     return CR_FAILURE;
319 }
320
321 /***********************************************************************
322  *      CM_Locate_DevNode_ExA (SETUPAPI.@)
323  */
324 CONFIGRET WINAPI CM_Locate_DevNode_ExA(PDEVINST pdnDevInst, DEVINSTID_A pDeviceID, ULONG ulFlags, HMACHINE hMachine)
325 {
326     FIXME("%p %s 0x%08x %p: stub\n", pdnDevInst, debugstr_a(pDeviceID), ulFlags, hMachine);
327
328     return CR_FAILURE;
329 }
330
331 /***********************************************************************
332  *      CM_Locate_DevNode_ExW (SETUPAPI.@)
333  */
334 CONFIGRET WINAPI CM_Locate_DevNode_ExW(PDEVINST pdnDevInst, DEVINSTID_W pDeviceID, ULONG ulFlags, HMACHINE hMachine)
335 {
336     FIXME("%p %s 0x%08x %p: stub\n", pdnDevInst, debugstr_w(pDeviceID), ulFlags, hMachine);
337
338     return CR_FAILURE;
339 }
340
341 /***********************************************************************
342  *      CM_Get_Device_Interface_List_Size_ExA (SETUPAPI.@)
343  */
344 CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExA(PULONG len, LPGUID class, DEVINSTID_A id,
345                                                        ULONG flags, HMACHINE machine)
346 {
347     FIXME("%p %p %s 0x%08x %p: stub\n", len, class, debugstr_a(id), flags, machine);
348     return CR_FAILURE;
349 }
350
351 /***********************************************************************
352  *      CM_Get_Device_Interface_List_Size_ExW (SETUPAPI.@)
353  */
354 CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExW(PULONG len, LPGUID class, DEVINSTID_W id,
355                                                        ULONG flags, HMACHINE machine)
356 {
357     FIXME("%p %p %s 0x%08x %p: stub\n", len, class, debugstr_w(id), flags, machine);
358     return CR_FAILURE;
359 }
360
361 /***********************************************************************
362  *      CM_Enumerate_Classes (SETUPAPI.@)
363  */
364 CONFIGRET WINAPI CM_Enumerate_Classes(ULONG index, LPGUID class, ULONG flags)
365 {
366     FIXME("%u %p 0x%08x: stub\n", index, class, flags);
367     return CR_NO_SUCH_VALUE;
368 }
369
370 /***********************************************************************
371  *              SetupLogFileW  (SETUPAPI.@)
372  */
373 BOOL WINAPI SetupLogFileW(
374     HSPFILELOG FileLogHandle,
375     PCWSTR LogSectionName,
376     PCWSTR SourceFileName,
377     PCWSTR TargetFileName,
378     DWORD Checksum,
379     PCWSTR DiskTagfile,
380     PCWSTR DiskDescription,
381     PCWSTR OtherInfo,
382     DWORD Flags )
383 {
384     FIXME("(%p, %p, '%s', '%s', %d, %p, %p, %p, %d): stub\n", FileLogHandle,
385         debugstr_w(LogSectionName), debugstr_w(SourceFileName),
386         debugstr_w(TargetFileName), Checksum, debugstr_w(DiskTagfile),
387         debugstr_w(DiskDescription), debugstr_w(OtherInfo), Flags);
388
389     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
390     return FALSE;
391 }
392
393 /***********************************************************************
394  *              SetupLogFileA  (SETUPAPI.@)
395  */
396 BOOL WINAPI SetupLogFileA(
397     HSPFILELOG FileLogHandle,
398     PCSTR LogSectionName,
399     PCSTR SourceFileName,
400     PCSTR TargetFileName,
401     DWORD Checksum,
402     PCSTR DiskTagfile,
403     PCSTR DiskDescription,
404     PCSTR OtherInfo,
405     DWORD Flags )
406 {
407     FIXME("(%p, %p, '%s', '%s', %d, %p, %p, %p, %d): stub\n", FileLogHandle,
408         LogSectionName, SourceFileName, TargetFileName, Checksum, DiskTagfile,
409         DiskDescription, OtherInfo, Flags);
410
411     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
412     return FALSE;
413 }
414
415 /***********************************************************************
416  *              SetupDiBuildDriverInfoList  (SETUPAPI.@)
417  */
418
419 BOOL WINAPI SetupDiBuildDriverInfoList(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, DWORD DriverType)
420  {
421     FIXME(": stub %p, %p, %d\n", DeviceInfoSet, DeviceInfoData, DriverType);
422
423     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
424     return FALSE;
425  }
426
427 /***********************************************************************
428  *              SetupDiDeleteDeviceInfo  (SETUPAPI.@)
429  */
430
431 BOOL WINAPI SetupDiDeleteDeviceInfo(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData)
432  {
433     FIXME(": stub %p, %p\n", DeviceInfoSet, DeviceInfoData);
434
435     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
436     return FALSE;
437  }
438
439 /***********************************************************************
440  *              SetupDiLoadClassIcon  (SETUPAPI.@)
441  */
442 BOOL WINAPI SetupDiLoadClassIcon(const GUID *ClassGuid, HICON *LargeIcon, PINT MiniIconIndex)
443 {
444     FIXME(": stub %s, %p, %p\n", debugstr_guid(ClassGuid), LargeIcon, MiniIconIndex);
445
446     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
447     return FALSE;
448 }
449
450 /***********************************************************************
451  *              SetupDiSetSelectedDevice  (SETUPAPI.@)
452  */
453 BOOL WINAPI SetupDiSetSelectedDevice(HDEVINFO SetupDiSetSelectedDevice, PSP_DEVINFO_DATA DeviceInfoData)
454 {
455     FIXME("(%p, %p) stub\n", SetupDiSetSelectedDevice, DeviceInfoData);
456
457     return TRUE;
458 }