DosDevIOCtl
Bindings: C, MASM
This call performs control functions on a device specified by an opened
device handle.
DosDevIOCtl (Data, ParmList, Function, Category, DevHandle)
Data (PVOID) - input
Address of the data area.
ParmList (PVOID) - input
Address of the command-specific argument list.
Function (USHORT) - input
Device-specific function code.
Category (USHORT) - input
Device category.
DevHandle (HFILE) - input
Device handle returned by DosOpen or a standard (open) device handle.
rc (USHORT) - return
Return code descriptions are:
0 NO_ERROR
1 ERROR_INVALID_FUNCTION
6 ERROR_INVALID_HANDLE
15 ERROR_INVALID_DRIVE
31 ERROR_GEN_FAILURE
87 ERROR_INVALID_PARAMETER
115 ERROR_PROTECTION_VIOLATION
117 ERROR_INVALID_CATEGORY
119 ERROR_BAD_DRIVER_LEVEL
163 ERROR_UNCERTAIN_MEDIA
165 ERROR_MONITORS_NOT_SUPPORTED
Remarks
Values returned in the range hex FF00 through FFFF are user dependent
error codes. Values returned in the range hex FE00 through FEFF are
device driver dependent error codes.
Refer to the IBM Operating System/2 Version 1.2 I/O Subsystems And Device
Support Volume 1 for a complete listing of control functions (DevHlp
calls).
Family API Considerations
Some options operate differently in the DOS mode than in the OS/2 mode.
Therefore, the following considerations apply to DosDevIOCtl when coding
for the DOS mode.
The level of support for DosDevIOCtl is identified by category and
function code with a noted restriction if it is not supported by DOS 2.X
or DOS 3.X Functions tend to be more restrictive in lower version numbers
of DOS.
o Category 1 supported as follows:
- 41H Set Baud Rate
- 42H Set Line Control
- All other category 1 functions are not supported for DOS 2.X and DOS
3.X.
o Category 2 not supported in FAPI
o Category 3 not supported in FAPI
o Category 4 not supported in FAPI
o Category 5 supported in FAPI as follows:
- 42H Set Frame control - supports IBM Graphics Printers only
- 44H Set Infinite Retry - for DOS 2.X and DOS 3.X, the function is in
effect only for the duration of the calling program
- 46H Initialize printer
- 62H Get Frame Control - not supported for DOS 2.X and DOS 3.X
- 64H Get Infinite Retry
- 66H Get Printer Status.
o Category 6 not supported in FAPI
o Category 7 not supported in FAPI
o Category 8 supported in FAPI as follows:
- 00H Lock Drive - not supported for versions below DOS 3.2
- 01H Unlock Drive - not supported for versions below DOS 3.2
- 02H Redetermine Media - not supported for versions below DOS 3.2
- 03H Set Logical Map - not supported for versions below DOS 3.2
- 20H Block Removable - not supported for versions below DOS 3.2
- 21H Get Logical Map - not supported for versions below DOS 3.2
- 43H Set Device Parameters - not supported for DOS 2.X and DOS 3.X
- 44H Write Track - not supported for DOS 2.X and DOS 3.X
- 45H Format Track - not supported for DOS 2.X and DOS 3.X
- 63H Get Device Parameters - not supported for DOS 2.X and DOS 3.X
- 64H Read Track - not supported for DOS 2.X and DOS 3.X
- 65H Verify Track - not supported for DOS 2.X and DOS 3.X.
o Category 9 is reserved
o Category 10 (0AH) not supported in FAPI
o Category 11 (0BH) not supported in FAPI.
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs