- document and partly implement DevicePropertiesExA/W()
[reactos.git] / reactos / lib / devmgr / stubs.c
1 /* $Id$
2 *
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS devmgr.dll
5 * FILE: lib/devmgr/stubs.c
6 * PURPOSE: devmgr.dll stubs
7 * PROGRAMMER: Thomas Weidenmueller (w3seek@users.sourceforge.net)
8 * NOTES: If you implement a function, remove it from this file
9 *
10 * Some helpful resources:
11 * http://support.microsoft.com/default.aspx?scid=kb;%5BLN%5D;815320
12 * http://www.jsiinc.com/SUBO/tip7400/rh7482.htm
13 * http://www.jsiinc.com/SUBM/tip6400/rh6490.htm
14 *
15 * UPDATE HISTORY:
16 * 04-04-2004 Created
17 */
18 #include <precomp.h>
19
20 #define NDEBUG
21 #include <debug.h>
22
23 /***************************************************************************
24 * NAME EXPORTED
25 * DeviceManager_ExecuteA
26 *
27 * DESCRIPTION
28 * Starts the Device Manager
29 *
30 * ARGUMENTS
31 * hWndParent: Handle to the parent window
32 * hInst: Handle to the application instance
33 * lpMachineName: Machine Name, NULL is the local machine
34 * nCmdShow: Specifies how the window should be shown
35 *
36 * RETURN VALUE
37 * TRUE: if no errors occured
38 * FALSE: if the device manager could not be executed
39 *
40 * REVISIONS
41 *
42 * NOTE
43 * - Win runs the device manager in a separate process, so hWndParent is somehow
44 * obsolete.
45 *
46 * @unimplemented
47 */
48 WINBOOL
49 WINAPI
50 DeviceManager_ExecuteA(HWND hWndParent,
51 HINSTANCE hInst,
52 LPCSTR lpMachineName,
53 int nCmdShow)
54 {
55 UNIMPLEMENTED;
56 return FALSE;
57 }
58
59
60 /***************************************************************************
61 * NAME EXPORTED
62 * DeviceManager_ExecuteW
63 *
64 * DESCRIPTION
65 * Starts the Device Manager
66 *
67 * ARGUMENTS
68 * hWndParent: Handle to the parent window
69 * hInst: Handle to the application instance
70 * lpMachineName: Machine Name, NULL is the local machine
71 * nCmdShow: Specifies how the window should be shown
72 *
73 * RETURN VALUE
74 * TRUE: if no errors occured
75 * FALSE: if the device manager could not be executed
76 *
77 * REVISIONS
78 *
79 * NOTE
80 * - Win runs the device manager in a separate process, so hWndParent is somehow
81 * obsolete.
82 *
83 * @unimplemented
84 */
85 WINBOOL
86 WINAPI
87 DeviceManager_ExecuteW(HWND hWndParent,
88 HINSTANCE hInst,
89 LPCWSTR lpMachineName,
90 int nCmdShow)
91 {
92 UNIMPLEMENTED;
93 return FALSE;
94 }
95
96
97 /***************************************************************************
98 * NAME EXPORTED
99 * DeviceProperties_RunDLLA
100 *
101 * DESCRIPTION
102 * Invokes the device properties dialog
103 *
104 * ARGUMENTS
105 * hWndParent: Handle to the parent window
106 * hInst: Handle to the application instance
107 * lpDeviceCmd: A command that includes the DeviceID of the properties to be shown,
108 * also see NOTEs
109 * nCmdShow: Specifies how the window should be shown
110 *
111 * RETURN VALUE
112 *
113 * REVISIONS
114 *
115 * NOTE
116 * - lpDeviceCmd is a string in the form of "/MachineName MACHINE /DeviceID DEVICEPATH"
117 * (/MachineName is optional). This function only parses this string and eventually
118 * calls DeviceProperties().
119 *
120 * @unimplemented
121 */
122 VOID
123 WINAPI
124 DeviceProperties_RunDLLA(HWND hWndParent,
125 HINSTANCE hInst,
126 LPCWSTR lpDeviceCmd,
127 int nCmdShow)
128 {
129 UNIMPLEMENTED;
130 }
131
132
133 /***************************************************************************
134 * NAME EXPORTED
135 * DeviceProperties_RunDLLW
136 *
137 * DESCRIPTION
138 * Invokes the device properties dialog
139 *
140 * ARGUMENTS
141 * hWndParent: Handle to the parent window
142 * hInst: Handle to the application instance
143 * lpDeviceCmd: A command that includes the DeviceID of the properties to be shown,
144 * also see NOTEs
145 * nCmdShow: Specifies how the window should be shown
146 *
147 * RETURN VALUE
148 *
149 * REVISIONS
150 *
151 * NOTE
152 * - lpDeviceCmd is a string in the form of "/MachineName MACHINE /DeviceID DEVICEPATH"
153 * (/MachineName is optional). This function only parses this string and eventually
154 * calls DeviceProperties().
155 *
156 * @unimplemented
157 */
158 VOID
159 WINAPI
160 DeviceProperties_RunDLLW(HWND hWndParent,
161 HINSTANCE hInst,
162 LPCSTR lpDeviceCmd,
163 int nCmdShow)
164 {
165 UNIMPLEMENTED;
166 }
167
168
169 /***************************************************************************
170 * NAME EXPORTED
171 * DevicePropertiesA
172 *
173 * DESCRIPTION
174 * Invokes the device properties dialog directly
175 *
176 * ARGUMENTS
177 * hWndParent: Handle to the parent window
178 * hInst: Handle to the application instance
179 * lpMachineName: Machine Name, NULL is the local machine
180 * lpDeviceID: Specifies the device whose properties are to be shown
181 * Unknown: Unknown parameter, see NOTEs
182 *
183 * RETURN VALUE
184 * >=0: if no errors occured
185 * -1: if errors occured
186 *
187 * REVISIONS
188 *
189 * NOTE
190 * Unknown seems to be a BOOL, not sure what it does
191 *
192 * @unimplemented
193 */
194 int
195 WINAPI
196 DevicePropertiesA(HWND hWndParent,
197 HINSTANCE hInst,
198 LPCSTR lpMachineName,
199 LPCSTR lpDeviceID,
200 DWORD Unknown)
201 {
202 UNIMPLEMENTED;
203 return -1;
204 }
205
206
207 /***************************************************************************
208 * NAME EXPORTED
209 * DevicePropertiesW
210 *
211 * DESCRIPTION
212 * Invokes the device properties dialog directly
213 *
214 * ARGUMENTS
215 * hWndParent: Handle to the parent window
216 * hInst: Handle to the application instance
217 * lpMachineName: Machine Name, NULL is the local machine
218 * lpDeviceID: Specifies the device whose properties are to be shown
219 * Unknown: Unknown parameter, see NOTEs
220 *
221 * RETURN VALUE
222 * >=0: if no errors occured
223 * -1: if errors occured
224 *
225 * REVISIONS
226 *
227 * NOTE
228 * Unknown seems to be a BOOL, not sure what it does
229 *
230 * @unimplemented
231 */
232 int
233 WINAPI
234 DevicePropertiesW(HWND hWndParent,
235 HINSTANCE hInst,
236 LPCWSTR lpMachineName,
237 LPCWSTR lpDeviceID,
238 DWORD Unknown)
239 {
240 UNIMPLEMENTED;
241 return -1;
242 }
243
244
245 /***************************************************************************
246 * NAME EXPORTED
247 * DeviceProblemTextW
248 *
249 * DESCRIPTION
250 * Gets the problem text from a problem number displayed in the properties dialog
251 *
252 * ARGUMENTS
253 * Unknown1: Unknown parameter
254 * Unknown2: Unknown parameter
255 * uProblemId: Specifies the problem ID
256 * lpString: Pointer to a buffer where the string is to be copied to
257 * uMaxString: Size of the buffer
258 *
259 * RETURN VALUE
260 * The return value is the number of bytes copied into the string buffer.
261 * It returns 0 if an error occured.
262 *
263 * REVISIONS
264 *
265 * NOTE
266 *
267 * @unimplemented
268 */
269 UINT
270 WINAPI
271 DeviceProblemTextA(PVOID Unknown1,
272 PVOID Unknown2,
273 UINT uProblemId,
274 LPSTR lpString,
275 UINT uMaxString)
276 {
277 UNIMPLEMENTED;
278 return 0;
279 }
280
281
282 /***************************************************************************
283 * NAME EXPORTED
284 * DeviceProblemTextW
285 *
286 * DESCRIPTION
287 * Gets the problem text from a problem number displayed in the properties dialog
288 *
289 * ARGUMENTS
290 * Unknown1: Unknown parameter
291 * Unknown2: Unknown parameter
292 * uProblemId: Specifies the problem ID
293 * lpString: Pointer to a buffer where the string is to be copied to
294 * uMaxString: Size of the buffer
295 *
296 * RETURN VALUE
297 * The return value is the number of bytes copied into the string buffer.
298 * It returns 0 if an error occured.
299 *
300 * REVISIONS
301 *
302 * NOTE
303 *
304 * @unimplemented
305 */
306 UINT
307 WINAPI
308 DeviceProblemTextW(PVOID Unknown1,
309 PVOID Unknown2,
310 UINT uProblemId,
311 LPWSTR lpString,
312 UINT uMaxString)
313 {
314 UNIMPLEMENTED;
315 return 0;
316 }
317
318
319 /***************************************************************************
320 * NAME EXPORTED
321 * DeviceProblemWizardA
322 *
323 * DESCRIPTION
324 * Calls the device problem wizard
325 *
326 * ARGUMENTS
327 * hWndParent: Handle to the parent window
328 * lpMachineName: Machine Name, NULL is the local machine
329 * lpDeviceID: Specifies the device, also see NOTEs
330 *
331 * RETURN VALUE
332 * TRUE: if no errors occured
333 * FALSE: if errors occured
334 *
335 * REVISIONS
336 *
337 * NOTE
338 *
339 * @unimplemented
340 */
341 WINBOOL
342 WINAPI
343 DeviceProblemWizardA(HWND hWndParent,
344 LPCSTR lpMachineName,
345 LPCSTR lpDeviceID)
346 {
347 UNIMPLEMENTED;
348 return FALSE;
349 }
350
351
352 /***************************************************************************
353 * NAME EXPORTED
354 * DeviceProblemWizardW
355 *
356 * DESCRIPTION
357 * Calls the device problem wizard
358 *
359 * ARGUMENTS
360 * hWndParent: Handle to the parent window
361 * lpMachineName: Machine Name, NULL is the local machine
362 * lpDeviceID: Specifies the device, also see NOTEs
363 *
364 * RETURN VALUE
365 * TRUE: if no errors occured
366 * FALSE: if errors occured
367 *
368 * REVISIONS
369 *
370 * NOTE
371 *
372 * @unimplemented
373 */
374 WINBOOL
375 WINAPI
376 DeviceProblemWizardW(HWND hWndParent,
377 LPCWSTR lpMachineName,
378 LPCWSTR lpDeviceID)
379 {
380 UNIMPLEMENTED;
381 return FALSE;
382 }
383
384
385 /***************************************************************************
386 * NAME EXPORTED
387 * DeviceProblemWizard_RunDLLA
388 *
389 * DESCRIPTION
390 * Calls the device problem wizard
391 *
392 * ARGUMENTS
393 * hWndParent: Handle to the parent window
394 * hInst: Handle to the application instance
395 * lpDeviceCmd: A command that includes the DeviceID of the properties to be shown,
396 * also see NOTEs
397 * nCmdShow: Specifies how the window should be shown
398 *
399 * RETURN VALUE
400 *
401 * REVISIONS
402 *
403 * NOTE
404 * - Win XP exports this function as DeviceProblenWizard_RunDLLA, apparently it's
405 * a typo so we additionally export an alias function
406 * - lpDeviceCmd is a string in the form of "/MachineName MACHINE /DeviceID DEVICEPATH"
407 * (/MachineName is optional). This function only parses this string and eventually
408 * calls DeviceProperties().
409 *
410 * @unimplemented
411 */
412 VOID
413 WINAPI
414 DeviceProblemWizard_RunDLLA(HWND hWndParent,
415 HINSTANCE hInst,
416 LPCSTR lpDeviceCmd,
417 int nCmdShow)
418 {
419 UNIMPLEMENTED;
420 }
421
422
423 /***************************************************************************
424 * NAME EXPORTED
425 * DeviceProblemWizard_RunDLLW
426 *
427 * DESCRIPTION
428 * Calls the device problem wizard
429 *
430 * ARGUMENTS
431 * hWndParent: Handle to the parent window
432 * hInst: Handle to the application instance
433 * lpDeviceCmd: A command that includes the DeviceID of the properties to be shown,
434 * also see NOTEs
435 * nCmdShow: Specifies how the window should be shown
436 *
437 * RETURN VALUE
438 *
439 * REVISIONS
440 *
441 * NOTE
442 * - Win XP exports this function as DeviceProblenWizard_RunDLLA, apparently it's
443 * a typo so we additionally export an alias function
444 * - lpDeviceCmd is a string in the form of "/MachineName MACHINE /DeviceID DEVICEPATH"
445 * (/MachineName is optional). This function only parses this string and eventually
446 * calls DeviceProperties().
447 *
448 * @unimplemented
449 */
450 VOID
451 WINAPI
452 DeviceProblemWizard_RunDLLW(HWND hWndParent,
453 HINSTANCE hInst,
454 LPCWSTR lpDeviceCmd,
455 int nCmdShow)
456 {
457 UNIMPLEMENTED;
458 }
459
460
461 /***************************************************************************
462 * NAME EXPORTED
463 * DeviceManagerPrintA
464 *
465 * DESCRIPTION
466 * Calls the device problem wizard
467 *
468 * ARGUMENTS
469 * lpMachineName: Machine Name, NULL is the local machine
470 * lpPrinter: Filename of the printer where it should be printed on
471 * nPrintMode: Specifies what kind of information is to be printed
472 * DEV_PRINT_ABSTRACT: Prints an abstract of system information, the parameters
473 * uNumberOfGuids, Guids are ignored
474 * DEV_PRINT_SELECTED: Prints information about the devices listed in Guids
475 * DEV_PRINT_ALL: Prints an abstract of system information and all
476 * system devices
477 * uNumberOfGuids: Numbers of guids in the Guids array, this parameter is ignored unless
478 * nPrintMode is DEV_PRINT_SELECTED
479 * lpGuids: Array of device guids, this parameter is ignored unless
480 * nPrintMode is DEV_PRINT_SELECTED
481 *
482 * RETURN VALUE
483 * TRUE: if no errors occured
484 * FALSE: if errors occured
485 *
486 * REVISIONS
487 *
488 * NOTE
489 *
490 * @unimplemented
491 */
492 WINBOOL
493 WINAPI
494 DeviceManagerPrintA(LPCSTR lpMachineName,
495 LPCSTR lpPrinter,
496 int nPrintMode,
497 UINT uNumberOfGuids,
498 LPGUID lpGuids)
499 {
500 UNIMPLEMENTED;
501 return FALSE;
502 }
503
504
505 /***************************************************************************
506 * NAME EXPORTED
507 * DeviceManagerPrintW
508 *
509 * DESCRIPTION
510 * Calls the device problem wizard
511 *
512 * ARGUMENTS
513 * lpMachineName: Machine Name, NULL is the local machine
514 * lpPrinter: Filename of the printer where it should be printed on
515 * nPrintMode: Specifies what kind of information is to be printed
516 * DEV_PRINT_ABSTRACT: Prints an abstract of system information, the parameters
517 * uNumberOfGuids, Guids are ignored
518 * DEV_PRINT_SELECTED: Prints information about the devices listed in Guids
519 * DEV_PRINT_ALL: Prints an abstract of system information and all
520 * system devices
521 * uNumberOfGuids: Numbers of guids in the Guids array, this parameter is ignored unless
522 * nPrintMode is DEV_PRINT_SELECTED
523 * lpGuids: Array of device guids, this parameter is ignored unless
524 * nPrintMode is DEV_PRINT_SELECTED
525 *
526 * RETURN VALUE
527 * TRUE: if no errors occured
528 * FALSE: if errors occured
529 *
530 * REVISIONS
531 *
532 * NOTE
533 *
534 * @unimplemented
535 */
536 WINBOOL
537 WINAPI
538 DeviceManagerPrintW(LPCWSTR lpMachineName,
539 LPCWSTR lpPrinter,
540 int nPrintMode,
541 UINT uNumberOfGuids,
542 LPGUID lpGuids)
543 {
544 UNIMPLEMENTED;
545 return FALSE;
546 }