Operation Flow with Single Device Stack

Warning

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.

The archived UMDF 1 samples can be found in the Windows 11, version 22H2 - May 2022 Driver Samples Update.

For more info, see Getting Started with UMDF.

The following figure shows the flow of operations that occur to and from the UMDF functional driver in a single device stack.

umdf call sequence for create file followed by a read request.

Note   All I/O that is initiated by applications is routed through kernel mode as shown in the figures in the Architecture of the UMDF section, even though the preceding figure does not show this situation.

The UMDF driver calls the IWDFIoRequest::GetCreateParameters method only if it requires information about the file that is associated with the read request. The UMDF driver calls the IWDFIoRequest::GetReadParameters method only if it requires more information about the read request.

The UMDF driver can call the IWDFIoRequest::Complete method rather than the IWDFIoRequest::CompleteWithInformation method if specifying the number of bytes that are transferred in the read operation is not required. The UMDF driver calls Complete or CompleteWithInformation to signal that the read operation is complete; the application can then access the read data.