Platform SDK: Hardware |
An application can use the DeviceIoControl function to send a control code to a device driver. The control code specifies the action that the driver is to perform. For example, a control code can ask a device driver to return information about the corresponding device, or direct the driver to carry out an action on the device, such as formatting a disk.
A number of standard control codes are defined in the SDK header files. For a list of standard control codes, see DeviceIoControl. In addition, device drivers can define their own device-specific control codes. The types of control codes you can specify depend on the device being accessed and the platform on which your application is running.
The control code specified in a DeviceIoControl call determines the values that must be specified for the other DeviceIoControl parameters. For example, a Win32-based application can specify the IOCTL_DISK_FORMAT_TRACKS control code. In this case, the lpvInBuffer parameter must point to a filled-in FORMAT_PARAMETERS structure, and the nInBufferSize parameter must specify the size of the structure.