Sending I/O Requests to Lower Drivers
UMDF 2 is the latest version of UMDF and supersedes UMDF 1. All new UMDF drivers should be written using UMDF 2. No new features are being added to UMDF 1 and there is limited support for UMDF 1 on newer versions of Windows 10. Universal Windows drivers must use UMDF 2.
For more info, see Getting Started with UMDF.
When a driver receives an I/O request that it cannot fully process, the driver typically forwards the received request to the next lower driver in the stack. The driver calls the IWDFIoRequest::Send method to forward the request. To forward synchronously, the driver passes the WDF_REQUEST_SEND_OPTION_SYNCHRONOUS flag in the Flags parameter. Otherwise, the driver forwards the request asynchronously. Before the driver forwards the request, it should register a completion routine. For more information, see Completing I/O Requests.