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
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
23 /***************************************************************************
25 * DeviceManager_ExecuteA
28 * Starts the Device Manager
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
37 * TRUE: if no errors occured
38 * FALSE: if the device manager could not be executed
43 * - Win runs the device manager in a separate process, so hWndParent is somehow
50 DeviceManager_ExecuteA(HWND hWndParent
,
60 /***************************************************************************
62 * DeviceManager_ExecuteW
65 * Starts the Device Manager
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
74 * TRUE: if no errors occured
75 * FALSE: if the device manager could not be executed
80 * - Win runs the device manager in a separate process, so hWndParent is somehow
87 DeviceManager_ExecuteW(HWND hWndParent
,
89 LPCWSTR lpMachineName
,
97 /***************************************************************************
99 * DeviceProperties_RunDLLA
102 * Invokes the device properties dialog
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,
109 * nCmdShow: Specifies how the window should be shown
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().
124 DeviceProperties_RunDLLA(HWND hWndParent
,
133 /***************************************************************************
135 * DeviceProperties_RunDLLW
138 * Invokes the device properties dialog
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,
145 * nCmdShow: Specifies how the window should be shown
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().
160 DeviceProperties_RunDLLW(HWND hWndParent
,
169 /***************************************************************************
174 * Invokes the device properties dialog directly
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
184 * >=0: if no errors occured
185 * -1: if errors occured
190 * Unknown seems to be a BOOL, not sure what it does
196 DevicePropertiesA(HWND hWndParent
,
198 LPCSTR lpMachineName
,
207 /***************************************************************************
212 * Invokes the device properties dialog directly
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
222 * >=0: if no errors occured
223 * -1: if errors occured
228 * Unknown seems to be a BOOL, not sure what it does
234 DevicePropertiesW(HWND hWndParent
,
236 LPCWSTR lpMachineName
,
245 /***************************************************************************
250 * Gets the problem text from a problem number displayed in the properties dialog
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
260 * The return value is the number of bytes copied into the string buffer.
261 * It returns 0 if an error occured.
271 DeviceProblemTextA(PVOID Unknown1
,
282 /***************************************************************************
287 * Gets the problem text from a problem number displayed in the properties dialog
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
297 * The return value is the number of bytes copied into the string buffer.
298 * It returns 0 if an error occured.
308 DeviceProblemTextW(PVOID Unknown1
,
319 /***************************************************************************
321 * DeviceProblemWizardA
324 * Calls the device problem wizard
327 * hWndParent: Handle to the parent window
328 * lpMachineName: Machine Name, NULL is the local machine
329 * lpDeviceID: Specifies the device, also see NOTEs
332 * TRUE: if no errors occured
333 * FALSE: if errors occured
343 DeviceProblemWizardA(HWND hWndParent
,
344 LPCSTR lpMachineName
,
352 /***************************************************************************
354 * DeviceProblemWizardW
357 * Calls the device problem wizard
360 * hWndParent: Handle to the parent window
361 * lpMachineName: Machine Name, NULL is the local machine
362 * lpDeviceID: Specifies the device, also see NOTEs
365 * TRUE: if no errors occured
366 * FALSE: if errors occured
376 DeviceProblemWizardW(HWND hWndParent
,
377 LPCWSTR lpMachineName
,
385 /***************************************************************************
387 * DeviceProblemWizard_RunDLLA
390 * Calls the device problem wizard
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,
397 * nCmdShow: Specifies how the window should be shown
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().
414 DeviceProblemWizard_RunDLLA(HWND hWndParent
,
423 /***************************************************************************
425 * DeviceProblemWizard_RunDLLW
428 * Calls the device problem wizard
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,
435 * nCmdShow: Specifies how the window should be shown
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().
452 DeviceProblemWizard_RunDLLW(HWND hWndParent
,
461 /***************************************************************************
463 * DeviceManagerPrintA
466 * Calls the device problem wizard
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
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
483 * TRUE: if no errors occured
484 * FALSE: if errors occured
494 DeviceManagerPrintA(LPCSTR lpMachineName
,
505 /***************************************************************************
507 * DeviceManagerPrintW
510 * Calls the device problem wizard
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
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
527 * TRUE: if no errors occured
528 * FALSE: if errors occured
538 DeviceManagerPrintW(LPCWSTR lpMachineName
,
549 /***************************************************************************
551 * DevicePropertiesExA
554 * Invokes the extended device properties dialog
557 * hWndParent: Handle to the parent window
558 * hInst: Handle to the application instance
559 * lpMachineName: Machine Name, NULL is the local machine
560 * lpDeviceID: Specifies the device whose properties are to be shown
561 * Unknown: Unknown parameter, see NOTEs
564 * >=0: if no errors occured
565 * -1: if errors occured
570 * Unknown seems to be a BOOL, not sure what it affects
576 DevicePropertiesExA(HWND hWndParent
,
577 LPCSTR lpMachineName
,
587 /***************************************************************************
589 * DevicePropertiesExW
592 * Invokes the extended device properties dialog
595 * hWndParent: Handle to the parent window
596 * hInst: Handle to the application instance
597 * lpMachineName: Machine Name, NULL is the local machine
598 * lpDeviceID: Specifies the device whose properties are to be shown
599 * Unknown: Unknown parameter, see NOTEs
602 * >=0: if no errors occured
603 * -1: if errors occured
608 * Unknown seems to be a BOOL, not sure what it affects
614 DevicePropertiesExW(HWND hWndParent
,
615 LPCWSTR lpMachineName
,