{{page>en:templates:fapiint}} ====== DosDevConfig ====== This call gets information about attached devices. ===== Syntax ===== DosDevConfig (DeviceInfo, Item, Parm) ===== Parameters ===== * DeviceInfo ([[PVOID]]) - output: Address of the byte-wide field containing the requested information. * Item ([[USHORT]]) - input: Device information requested. * 0 - Number of printers attached * 1 - Number of RS232 ports * 2 - Number of diskette drives * 3 - Presence of math coprocessor (where 0 = not present, 1 = present) * 4 - PC Submodel Type (where the return is the system submodel byte) * 5 - PC Model Type (where the return is the system model byte) * 6 - Display adapter type (where 0 = monochrome mode compatible, 1 = other). * Parm ([[USHORT]]) - input: Reserved for future use and should be set to zero. ===== Return Code ===== rc ([[USHORT]]) - return:Return code descriptions are: * 0 NO_ERROR *87 ERROR_INVALID_PARAMETER ===== Remarks ===== The system model (function 5) and submodel (function 4) information is obtained from BIOS. In addition, the number of devices attached in a PS/2 environment reflect only devices that are "awake". Devices that are "asleep" are not counted. ===== Bindings ===== ==== C ==== #define INCL_DOSDEVICES USHORT rc = DosDevConfig(DeviceInfo, Item, Parm); PVOID DeviceInfo; /* Returned information */ USHORT Item; /* Item number */ USHORT Parm; /* Reserved */ USHORT rc; /* return */ ==== MASM ==== EXTRN DosDevConfig:FAR INCL_DOSDEVICES EQU 1 PUSH@ OTHER DeviceInfo ;Requested information (returned) PUSH WORD Item ;Item number PUSH WORD Parm ;Reserved (must be zero) CALL DosDevConfig Returns WORD ==== Example Code ==== This example gets information about model type, monitor and coprocessor and display it. #define INCL_DOSDEVICES #define MACHINE_MODEL 5 #define DISPLAY_TYPE 6 #define FIND_COPROCESSOR 3 #define RESERVED 0L BYTE DeviceInfo; USHORT rc; if(!DosDevConfig(&DeviceInfo, /* Returned information */ MACHINE_MODEL, /* Item number */ RESERVED)) /* Reserved */ printf("Model Type %d ",DeviceInfo); if(!DosDevConfig(&DeviceInfo, /* Returned information */ DISPLAY_TYPE, /* Item number */ RESERVED)) /* Reserved */ if (DeviceInfo) printf("Colour display "); else printf("Mono display "); if(!DosDevConfig(&DeviceInfo, /* Returned information */ FIND_COPROCESSOR, /* Item number */ RESERVED)) /* Reserved */ if (DeviceInfo) printf("Coprocessor"); else printf("No Coprocessor"); ===== Note ===== Text based on [[http://www.edm2.com/index.php/DosDevConfig_(Legacy)]] {{page>en:templates:fapi}}