dxdiagn: Initialize output pointer to NULL in IDxDiagContainer::GetChildContainer.
[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_Parent (SETUPAPI.@)
117  */
118 DWORD WINAPI CM_Get_Parent(PDEVINST pdnDevInst, DEVINST dnDevInst, ULONG ulFlags)
119 {
120     FIXME("%p 0x%08x 0x%08x stub\n", pdnDevInst, dnDevInst, ulFlags);
121     *pdnDevInst = dnDevInst;
122     return CR_SUCCESS;
123 }
124
125 /***********************************************************************
126  *              SetupInitializeFileLogW(SETUPAPI.@)
127  */
128 HSPFILELOG WINAPI SetupInitializeFileLogW(LPCWSTR LogFileName, DWORD Flags)
129 {
130     FIXME("Stub %s, 0x%x\n",debugstr_w(LogFileName),Flags);
131     return INVALID_HANDLE_VALUE;
132 }
133
134 /***********************************************************************
135  *              SetupInitializeFileLogA(SETUPAPI.@)
136  */
137 HSPFILELOG WINAPI SetupInitializeFileLogA(LPCSTR LogFileName, DWORD Flags)
138 {
139     FIXME("Stub %s, 0x%x\n",debugstr_a(LogFileName),Flags);
140     return INVALID_HANDLE_VALUE;
141 }
142
143 /***********************************************************************
144  *              SetupTerminateFileLog(SETUPAPI.@)
145  */
146 BOOL WINAPI SetupTerminateFileLog(HANDLE FileLogHandle)
147 {
148     FIXME ("Stub %p\n",FileLogHandle);
149     return TRUE;
150 }
151
152 /***********************************************************************
153  *              RegistryDelnode(SETUPAPI.@)
154  */
155 BOOL WINAPI RegistryDelnode(DWORD x, DWORD y)
156 {
157     FIXME("%08x %08x: stub\n", x, y);
158     return FALSE;
159 }
160
161 /***********************************************************************
162  *      SetupCloseLog(SETUPAPI.@)
163  */
164 void WINAPI SetupCloseLog(void)
165 {
166     FIXME("() stub\n");
167 }
168
169 /***********************************************************************
170  *      SetupLogErrorW(SETUPAPI.@)
171  */
172 BOOL WINAPI SetupLogErrorW(LPCWSTR MessageString, LogSeverity Severity)
173 {
174     FIXME("(%s, %d) stub\n", debugstr_w(MessageString), Severity);
175     return TRUE;
176 }
177
178 /***********************************************************************
179  *      SetupOpenLog(SETUPAPI.@)
180  */
181 BOOL WINAPI SetupOpenLog(BOOL Reserved)
182 {
183     FIXME("(%d) stub\n", Reserved);
184     return TRUE;
185 }
186
187 /***********************************************************************
188  *      SetupPromptReboot(SETUPAPI.@)
189  */
190 INT WINAPI SetupPromptReboot( HSPFILEQ file_queue, HWND owner, BOOL scan_only )
191 {
192     FIXME("%p, %p, %d\n", file_queue, owner, scan_only);
193     return 0;
194 }
195
196 /***********************************************************************
197  *      SetupSetSourceListA (SETUPAPI.@)
198  */
199 BOOL WINAPI SetupSetSourceListA(DWORD flags, PCSTR *list, UINT count)
200 {
201     FIXME("0x%08x %p %d\n", flags, list, count);
202     return FALSE;
203 }
204
205 /***********************************************************************
206  *      SetupSetSourceListW (SETUPAPI.@)
207  */
208 BOOL WINAPI SetupSetSourceListW(DWORD flags, PCWSTR *list, UINT count)
209 {
210     FIXME("0x%08x %p %d\n", flags, list, count);
211     return FALSE;
212 }
213
214 /***********************************************************************
215  *      SetupDiGetINFClassA (SETUPAPI.@)
216  */
217 BOOL WINAPI SetupDiGetINFClassA(PCSTR inf, LPGUID class_guid, PSTR class_name,
218         DWORD size, PDWORD required_size)
219 {
220     FIXME("%s %p %p %d %p\n", debugstr_a(inf), class_guid, class_name, size, required_size);
221     return FALSE;
222 }
223
224 /***********************************************************************
225  *      SetupDiGetINFClassW (SETUPAPI.@)
226  */
227 BOOL WINAPI SetupDiGetINFClassW(PCWSTR inf, LPGUID class_guid, PWSTR class_name,
228         DWORD size, PDWORD required_size)
229 {
230     FIXME("%s %p %p %d %p\n", debugstr_w(inf), class_guid, class_name, size, required_size);
231     return FALSE;
232 }
233
234 /***********************************************************************
235  *      SetupDiDestroyClassImageList (SETUPAPI.@)
236  */
237 BOOL WINAPI SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA ClassListImageData)
238 {
239     FIXME("(%p) stub\n", ClassListImageData);
240     return TRUE;
241 }
242
243 /***********************************************************************
244  *      SetupDiGetClassImageList (SETUPAPI.@)
245  */
246 BOOL WINAPI SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA ClassImageListData)
247 {
248     FIXME("(%p) stub\n", ClassImageListData);
249     return FALSE;
250 }
251
252 /***********************************************************************
253  *      SetupDiGetClassImageList (SETUPAPI.@)
254  */
255 BOOL WINAPI SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA ClassImageListData, const GUID *class, PINT index)
256 {
257     FIXME("%p %p %p\n", ClassImageListData, class, index);
258     return FALSE;
259 }
260
261 /***********************************************************************
262  *      SetupDiOpenDeviceInfoA (SETUPAPI.@)
263  */
264 BOOL WINAPI SetupDiOpenDeviceInfoA(HDEVINFO DeviceInfoSet, PCSTR DeviceInstanceId,
265         HWND hwndParent, DWORD OpenFlags, PSP_DEVINFO_DATA DeviceInfoData)
266 {
267     FIXME("%p %s %p 0x%08x %p\n", DeviceInfoSet, debugstr_a(DeviceInstanceId),
268           hwndParent, OpenFlags, DeviceInfoData);
269     return FALSE;
270 }
271
272 /***********************************************************************
273  *      SetupDiOpenDeviceInfoW (SETUPAPI.@)
274  */
275 BOOL WINAPI SetupDiOpenDeviceInfoW(HDEVINFO DeviceInfoSet, PCWSTR DeviceInstanceId,
276         HWND hwndParent, DWORD OpenFlags, PSP_DEVINFO_DATA DeviceInfoData)
277 {
278     FIXME("%p %s %p 0x%08x %p\n", DeviceInfoSet, debugstr_w(DeviceInstanceId),
279           hwndParent, OpenFlags, DeviceInfoData);
280     return FALSE;
281 }
282
283 /***********************************************************************
284  *      CM_Locate_DevNodeA (SETUPAPI.@)
285  */
286 CONFIGRET WINAPI CM_Locate_DevNodeA(PDEVINST pdnDevInst, DEVINSTID_A pDeviceID, ULONG ulFlags)
287 {
288     FIXME("%p %s 0x%08x: stub\n", pdnDevInst, debugstr_a(pDeviceID), ulFlags);
289
290     return CR_FAILURE;
291 }
292
293 /***********************************************************************
294  *      CM_Locate_DevNodeW (SETUPAPI.@)
295  */
296 CONFIGRET WINAPI CM_Locate_DevNodeW(PDEVINST pdnDevInst, DEVINSTID_W pDeviceID, ULONG ulFlags)
297 {
298     FIXME("%p %s 0x%08x: stub\n", pdnDevInst, debugstr_w(pDeviceID), ulFlags);
299
300     return CR_FAILURE;
301 }
302
303 /***********************************************************************
304  *      CM_Locate_DevNode_ExA (SETUPAPI.@)
305  */
306 CONFIGRET WINAPI CM_Locate_DevNode_ExA(PDEVINST pdnDevInst, DEVINSTID_A pDeviceID, ULONG ulFlags, HMACHINE hMachine)
307 {
308     FIXME("%p %s 0x%08x %p: stub\n", pdnDevInst, debugstr_a(pDeviceID), ulFlags, hMachine);
309
310     return CR_FAILURE;
311 }
312
313 /***********************************************************************
314  *      CM_Locate_DevNode_ExW (SETUPAPI.@)
315  */
316 CONFIGRET WINAPI CM_Locate_DevNode_ExW(PDEVINST pdnDevInst, DEVINSTID_W pDeviceID, ULONG ulFlags, HMACHINE hMachine)
317 {
318     FIXME("%p %s 0x%08x %p: stub\n", pdnDevInst, debugstr_w(pDeviceID), ulFlags, hMachine);
319
320     return CR_FAILURE;
321 }
322
323 /***********************************************************************
324  *      CM_Get_Device_Interface_List_Size_ExA (SETUPAPI.@)
325  */
326 CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExA(PULONG len, LPGUID class, DEVINSTID_A id,
327                                                        ULONG flags, HMACHINE machine)
328 {
329     FIXME("%p %p %s 0x%08x %p: stub\n", len, class, debugstr_a(id), flags, machine);
330     return CR_FAILURE;
331 }
332
333 /***********************************************************************
334  *      CM_Get_Device_Interface_List_Size_ExW (SETUPAPI.@)
335  */
336 CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExW(PULONG len, LPGUID class, DEVINSTID_W id,
337                                                        ULONG flags, HMACHINE machine)
338 {
339     FIXME("%p %p %s 0x%08x %p: stub\n", len, class, debugstr_w(id), flags, machine);
340     return CR_FAILURE;
341 }
342
343 /***********************************************************************
344  *      CM_Enumerate_Classes (SETUPAPI.@)
345  */
346 CONFIGRET WINAPI CM_Enumerate_Classes(ULONG index, LPGUID class, ULONG flags)
347 {
348     FIXME("%u %p 0x%08x: stub\n", index, class, flags);
349     return CR_NO_SUCH_VALUE;
350 }
351
352 /***********************************************************************
353  *              SetupLogFileW  (SETUPAPI.@)
354  */
355 BOOL WINAPI SetupLogFileW(
356     HSPFILELOG FileLogHandle,
357     PCWSTR LogSectionName,
358     PCWSTR SourceFileName,
359     PCWSTR TargetFileName,
360     DWORD Checksum,
361     PCWSTR DiskTagfile,
362     PCWSTR DiskDescription,
363     PCWSTR OtherInfo,
364     DWORD Flags )
365 {
366     FIXME("(%p, %p, '%s', '%s', %d, %p, %p, %p, %d): stub\n", FileLogHandle,
367         debugstr_w(LogSectionName), debugstr_w(SourceFileName),
368         debugstr_w(TargetFileName), Checksum, debugstr_w(DiskTagfile),
369         debugstr_w(DiskDescription), debugstr_w(OtherInfo), Flags);
370
371     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
372     return FALSE;
373 }
374
375 /***********************************************************************
376  *              SetupLogFileA  (SETUPAPI.@)
377  */
378 BOOL WINAPI SetupLogFileA(
379     HSPFILELOG FileLogHandle,
380     PCSTR LogSectionName,
381     PCSTR SourceFileName,
382     PCSTR TargetFileName,
383     DWORD Checksum,
384     PCSTR DiskTagfile,
385     PCSTR DiskDescription,
386     PCSTR OtherInfo,
387     DWORD Flags )
388 {
389     FIXME("(%p, %p, '%s', '%s', %d, %p, %p, %p, %d): stub\n", FileLogHandle,
390         LogSectionName, SourceFileName, TargetFileName, Checksum, DiskTagfile,
391         DiskDescription, OtherInfo, Flags);
392
393     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
394     return FALSE;
395 }