How to Send an I/O Request
A driver can send an I/O request either synchronously or asynchronously and can specify a time-out value for the request. If the time-out period expires, the framework cancels the request. Drivers send requests using the following methods:
A UMDF driver calls the IWDFIoRequest::Send method on the request object.
A KMDF driver calls WdfRequestSend and passes a handle to the request object.
To send a request synchronously, a KMDF driver can instead call one of the WdfIoTargetSendXxxSynchronously methods.
The driver specifies the I/O target to receive the request. If the I/O target is not the default, the driver must already have created and opened it. The framework takes out a reference on the request object to prevent associated ...