ddraw: Version 1 devices are aggregated by the surface that created them.
[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_Get_DevNode_Registry_Property_ExA (SETUPAPI.@)
363  */
364 CONFIGRET WINAPI CM_Get_DevNode_Registry_Property_ExA(DEVINST dev, ULONG prop, PULONG regdatatype,
365     PVOID buf, PULONG len, ULONG flags, HMACHINE machine)
366 {
367     FIXME("0x%08x %u %p %p %p 0x%08x %p: stub\n", dev, prop, regdatatype, buf, len, flags, machine);
368     return CR_FAILURE;
369 }
370
371 /***********************************************************************
372  *      CM_Get_DevNode_Registry_Property_ExW (SETUPAPI.@)
373  */
374 CONFIGRET WINAPI CM_Get_DevNode_Registry_Property_ExW(DEVINST dev, ULONG prop, PULONG regdatatype,
375     PVOID buf, PULONG len, ULONG flags, HMACHINE machine)
376 {
377     FIXME("0x%08x %u %p %p %p 0x%08x %p: stub\n", dev, prop, regdatatype, buf, len, flags, machine);
378     return CR_FAILURE;
379 }
380
381 /***********************************************************************
382  *      CM_Enumerate_Classes (SETUPAPI.@)
383  */
384 CONFIGRET WINAPI CM_Enumerate_Classes(ULONG index, LPGUID class, ULONG flags)
385 {
386     FIXME("%u %p 0x%08x: stub\n", index, class, flags);
387     return CR_NO_SUCH_VALUE;
388 }
389
390 /***********************************************************************
391  *      CM_Get_Class_Registry_PropertyA (SETUPAPI.@)
392  */
393 CONFIGRET WINAPI CM_Get_Class_Registry_PropertyA(LPGUID class, ULONG prop, PULONG regdatatype,
394                                                  PVOID buf, ULONG len, ULONG flags, HMACHINE machine)
395 {
396     FIXME("%p %u %p %p %u 0x%08x %p: stub\n", class, prop, regdatatype, buf, len, flags, machine);
397     return CR_FAILURE;
398 }
399
400 /***********************************************************************
401  *      CM_Get_Class_Registry_PropertyW (SETUPAPI.@)
402  */
403 CONFIGRET WINAPI CM_Get_Class_Registry_PropertyW(LPGUID class, ULONG prop, PULONG regdatatype,
404                                                  PVOID buf, ULONG len, ULONG flags, HMACHINE machine)
405 {
406     FIXME("%p %u %p %p %u 0x%08x %p: stub\n", class, prop, regdatatype, buf, len, flags, machine);
407     return CR_FAILURE;
408 }
409
410 /***********************************************************************
411  *      CM_Set_Class_Registry_PropertyA (SETUPAPI.@)
412  */
413 CONFIGRET WINAPI CM_Set_Class_Registry_PropertyA(LPGUID class, ULONG prop, PVOID buf, ULONG len,
414                                                  ULONG flags, HMACHINE machine)
415 {
416     FIXME("%p %u %p %u 0x%08x %p: stub\n", class, prop, buf, len, flags, machine);
417     return CR_FAILURE;
418 }
419
420 /***********************************************************************
421  *      CM_Set_Class_Registry_PropertyW (SETUPAPI.@)
422  */
423 CONFIGRET WINAPI CM_Set_Class_Registry_PropertyW(LPGUID class, ULONG prop, PVOID buf, ULONG len,
424                                                  ULONG flags, HMACHINE machine)
425 {
426     FIXME("%p %u %p %u 0x%08x %p: stub\n", class, prop, buf, len, flags, machine);
427     return CR_FAILURE;
428 }
429
430 /***********************************************************************
431  *              SetupLogFileW  (SETUPAPI.@)
432  */
433 BOOL WINAPI SetupLogFileW(
434     HSPFILELOG FileLogHandle,
435     PCWSTR LogSectionName,
436     PCWSTR SourceFileName,
437     PCWSTR TargetFileName,
438     DWORD Checksum,
439     PCWSTR DiskTagfile,
440     PCWSTR DiskDescription,
441     PCWSTR OtherInfo,
442     DWORD Flags )
443 {
444     FIXME("(%p, %s, '%s', '%s', %d, %s, %s, %s, %d): stub\n", FileLogHandle,
445         debugstr_w(LogSectionName), debugstr_w(SourceFileName),
446         debugstr_w(TargetFileName), Checksum, debugstr_w(DiskTagfile),
447         debugstr_w(DiskDescription), debugstr_w(OtherInfo), Flags);
448
449     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
450     return FALSE;
451 }
452
453 /***********************************************************************
454  *              SetupLogFileA  (SETUPAPI.@)
455  */
456 BOOL WINAPI SetupLogFileA(
457     HSPFILELOG FileLogHandle,
458     PCSTR LogSectionName,
459     PCSTR SourceFileName,
460     PCSTR TargetFileName,
461     DWORD Checksum,
462     PCSTR DiskTagfile,
463     PCSTR DiskDescription,
464     PCSTR OtherInfo,
465     DWORD Flags )
466 {
467     FIXME("(%p, %p, '%s', '%s', %d, %p, %p, %p, %d): stub\n", FileLogHandle,
468         LogSectionName, SourceFileName, TargetFileName, Checksum, DiskTagfile,
469         DiskDescription, OtherInfo, Flags);
470
471     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
472     return FALSE;
473 }
474
475 /***********************************************************************
476  *              SetupDiBuildDriverInfoList  (SETUPAPI.@)
477  */
478
479 BOOL WINAPI SetupDiBuildDriverInfoList(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, DWORD DriverType)
480  {
481     FIXME(": stub %p, %p, %d\n", DeviceInfoSet, DeviceInfoData, DriverType);
482
483     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
484     return FALSE;
485  }
486
487 /***********************************************************************
488  *              SetupDiDeleteDeviceInfo  (SETUPAPI.@)
489  */
490
491 BOOL WINAPI SetupDiDeleteDeviceInfo(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData)
492  {
493     FIXME(": stub %p, %p\n", DeviceInfoSet, DeviceInfoData);
494
495     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
496     return FALSE;
497  }
498
499 /***********************************************************************
500  *              SetupDiDrawMiniIcon  (SETUPAPI.@)
501  */
502 INT WINAPI SetupDiDrawMiniIcon(HDC hdc, RECT rc, INT MiniIconIndex, DWORD Flags)
503 {
504     FIXME("(%p, %s, %d, %x) stub\n", hdc, wine_dbgstr_rect(&rc), MiniIconIndex, Flags);
505
506     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
507     return 0;
508 }
509
510 /***********************************************************************
511  *              SetupDiGetClassBitmapIndex  (SETUPAPI.@)
512  */
513 BOOL WINAPI SetupDiGetClassBitmapIndex(const GUID *ClassGuid, PINT MiniIconIndex)
514 {
515     FIXME("(%s, %p) stub\n", debugstr_guid(ClassGuid), MiniIconIndex);
516
517     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
518     return FALSE;
519 }
520
521 /***********************************************************************
522  *              SetupDiLoadClassIcon  (SETUPAPI.@)
523  */
524 BOOL WINAPI SetupDiLoadClassIcon(const GUID *ClassGuid, HICON *LargeIcon, PINT MiniIconIndex)
525 {
526     FIXME(": stub %s, %p, %p\n", debugstr_guid(ClassGuid), LargeIcon, MiniIconIndex);
527
528     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
529     return FALSE;
530 }
531
532 /***********************************************************************
533  *              SetupDiSetSelectedDevice  (SETUPAPI.@)
534  */
535 BOOL WINAPI SetupDiSetSelectedDevice(HDEVINFO SetupDiSetSelectedDevice, PSP_DEVINFO_DATA DeviceInfoData)
536 {
537     FIXME("(%p, %p) stub\n", SetupDiSetSelectedDevice, DeviceInfoData);
538
539     return TRUE;
540 }