I/O Request Objects
When a request arrives that a WDF driver is prepared to handle, WDF creates an I/O request object to represent the underlying IRP, queues the object, and eventually dispatches the request to the driver. The driver receives the request as a parameter to an I/O event callback or by calling a method on a queue.
In UMDF, the I/O request object exposes the IWDFIoRequest interface.
In KMDF, the WDFREQUEST object represents an I/O request and the driver calls WdfRequestXxx methods to perform actions on it.
The driver can call WDF methods to retrieve information about the request such as the request type, parameters, data buffers, and associated file object.
As with all other WDF objects, the WDF request object has a reference count and ...