## Physical Device Driver Reference

[prev][next][parent][TOC]

### 10h - Remarks

On entry, the request packet has the IOCtl category code and function code set. Parameter Buffer Address and Data Buffer Address are set as virtual addresses. Notice that some IOCtl functions do not require data or parameters to be passed. For these IOCtls, the parameter and data buffer addresses can contain zeros. The System File Number is a unique number associated with an Open request.

If the physical device driver indicates in the function level of the Device Attribute field of its device header that it supports DosDevIOCtl2, the generic IOCtl request packets passed to the physical device driver will have two additional WORDs containing the lengths of the Parameter Buffer and Data Buffer. If the physical device driver indicates through the function level that it supports DosDevIOCtl2, but the application issues DosDevIOCtl, the Parameter Buffer and Data Buffer Length fields will be set to 0. The physical device driver must perform the following actions:

Perform the requested function
Set the status WORD in the request header

The physical device driver is responsible for locking the parameter and data buffer segments and converting the pointers to 32-bit physical addresses, if necessary. Refer to the OS/2 Control Program Programming Reference and the OS/2 Programming Guide for more detailed information on the generic IOCtl interface for applications (DosDevIOCtl). Refer to Generic IOCtl Commands for a detailed description of the generic IOCtl interface for physical device drivers.