DosDevConfig: Difference between revisions
Appearance
No edit summary |
mNo edit summary |
||
Line 3: | Line 3: | ||
==Syntax== | ==Syntax== | ||
#define INCL_DOSPROCESS | #define INCL_DOSPROCESS | ||
#include <os2.h> | #include <os2.h> | ||
Line 15: | Line 14: | ||
==Parameters== | ==Parameters== | ||
; '''pdevinfo (PVOID) - output''' : Address of the area where the information is returned. | ; '''pdevinfo (PVOID) - output''' : Address of the area where the information is returned. | ||
:All returned device information is BYTE-sized, so this should be the address of a BYTE variable. | |||
All returned device information is BYTE-sized, so this should be the address of a BYTE variable. | |||
; '''item (ULONG) - input''' : Device information to be returned. | ; '''item (ULONG) - input''' : Device information to be returned. | ||
:This parameter has one of the possible values: | |||
This parameter has one of the possible values: | ::0 DEVINFO_PRINTER: Number of parallel or printer ports. | ||
::1 DEVINFO_RS232: Number of RS232 ports. | |||
::2 DEVINFO_FLOPPY: Number of diskette drives. | |||
::3 DEVINFO_COPROCESSOR: Presence of math coprocessor hardware: | |||
:::0 No coprocessor hardware | |||
:::1 Coprocessor hardware installed | |||
::4 DEVINFO_SUBMODEL: PC Submodel Type. The returned information is the system submodel byte. | |||
::5 DEVINFO_MODEL: PC Model Type. The returned information is the system model byte. | |||
::6 DEVINFO_ADAPTER: Type of primary display adapter: | |||
:::0 Monochrome or printer adapter | |||
:::1 Other | |||
==Return Code== | ==Return Code== | ||
'''ulrc (APIRET) - returns''' | '''ulrc (APIRET) - returns''' | ||
DosDevConfig returns one of the following values: | DosDevConfig returns one of the following values: | ||
* 0 - NO_ERROR | |||
* 0 - NO_ERROR | * 87 - ERROR_INVALID_PARAMETER | ||
* 87 - ERROR_INVALID_PARAMETER | |||
==Example Code== | ==Example Code== | ||
This example gets information about the installed devices and displays it. Some return code checking was omitted for brevity. | |||
This example gets information about the installed devices and displays it. | <pre> | ||
Some return code checking was omitted for brevity. | |||
<pre> | |||
#define INCL_DOSDEVICES /* Device values */ | #define INCL_DOSDEVICES /* Device values */ | ||
#define INCL_DOSERRORS /* Error values */ | #define INCL_DOSERRORS /* Error values */ | ||
#include | #include <os2.h> | ||
#include | #include <stdio.h> | ||
int main(VOID) { | int main(VOID) { | ||
BYTE Model = 0, /* Model number */ | BYTE Model = 0, /* Model number */ | ||
SubModel = 0, /* Submodel */ | SubModel = 0, /* Submodel */ | ||
Line 91: | Line 73: | ||
return NO_ERROR; | return NO_ERROR; | ||
} | } | ||
</pre> | </pre> | ||
==Related Functions== | ==Related Functions== | ||
* [[ | * [[DosBeep]] | ||
* [[ | * [[DosDevIOCtl]] | ||
* [[ | * [[DosPhysicalDisk]] | ||
[[Category: | [[Category:Dos]] |
Revision as of 22:37, 10 November 2016
Description
Gets information about attached devices.
Syntax
#define INCL_DOSPROCESS #include <os2.h> PVOID pdevinfo; /* Address of the area where the information is returned. */ ULONG item; /* Device information to be returned. */ APIRET ulrc; /* Return Code. */ ulrc = DosDevConfig(pdevinfo, item);
Parameters
- pdevinfo (PVOID) - output
- Address of the area where the information is returned.
- All returned device information is BYTE-sized, so this should be the address of a BYTE variable.
- item (ULONG) - input
- Device information to be returned.
- This parameter has one of the possible values:
- 0 DEVINFO_PRINTER: Number of parallel or printer ports.
- 1 DEVINFO_RS232: Number of RS232 ports.
- 2 DEVINFO_FLOPPY: Number of diskette drives.
- 3 DEVINFO_COPROCESSOR: Presence of math coprocessor hardware:
- 0 No coprocessor hardware
- 1 Coprocessor hardware installed
- 4 DEVINFO_SUBMODEL: PC Submodel Type. The returned information is the system submodel byte.
- 5 DEVINFO_MODEL: PC Model Type. The returned information is the system model byte.
- 6 DEVINFO_ADAPTER: Type of primary display adapter:
- 0 Monochrome or printer adapter
- 1 Other
Return Code
ulrc (APIRET) - returns
DosDevConfig returns one of the following values:
- 0 - NO_ERROR
- 87 - ERROR_INVALID_PARAMETER
Example Code
This example gets information about the installed devices and displays it. Some return code checking was omitted for brevity.
#define INCL_DOSDEVICES /* Device values */ #define INCL_DOSERRORS /* Error values */ #include <os2.h> #include <stdio.h> int main(VOID) { BYTE Model = 0, /* Model number */ SubModel = 0, /* Submodel */ Adapter = 0, /* Display adapter type */ CoProc = 0, /* Math coprocessor installed? */ Printers = 0; /* Number of printers */ APIRET rc = NO_ERROR; /* Return code */ rc = DosDevConfig(&Model, DEVINFO_MODEL); if (rc != NO_ERROR) { printf("DosDevConfig error: return code = %u\n", rc); return 1; } rc = DosDevConfig(&SubModel, DEVINFO_SUBMODEL); printf(" Model/SubModel: %d / %d\n", Model, SubModel); rc = DosDevConfig(&Adapter, DEVINFO_ADAPTER); printf(" Display type: %s\n", (Adapter ? "Color" : "Monochrome")); rc = DosDevConfig(&CoProc, DEVINFO_COPROCESSOR); printf(" Math co-processor? %s\n", (CoProc ? "Yes" : "No")); rc = DosDevConfig(&Printers, DEVINFO_PRINTER); printf("Number of printers: %d\n", Printers); return NO_ERROR; }