Processing Changer Device-Control Requests

A changer miniclass driver does not process IOCTLs directly. Instead, it has a routine that corresponds to each IOCTL handled by the changer class driver.

When the class driver receives a request, it checks parameters and performs a certain amount of preprocessing. It then calls the corresponding changer miniclass driver routine, passing a pointer to the changer device object and to the IRP it received.

The changer miniclass driver performs any device-specific verification that might be required and builds one or more SRBs to send to the system port driver.

If the SRB succeeds, the miniclass driver routine fills in the output parameters involved in the request. Whether the SRB succeeds or fails, the miniclass driver routine typically returns the status it receives from the port driver to the changer class driver.