WDF_DEVICE_IO_TYPE - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdfdevice.h

typedef enum _WDF_DEVICE_IO_TYPE {
  WdfDeviceIoUndefined = 0,
  WdfDeviceIoNeither,
  WdfDeviceIoBuffered,
  WdfDeviceIoDirect,
  WdfDeviceIoBufferedOrDirect = 4,
  WdfDeviceIoMaximum
} WDF_DEVICE_IO_TYPE, *PWDF_DEVICE_IO_TYPE;

View the official Windows Driver Kit DDI reference
// wudfddi_types.h

typedef enum _WDF_DEVICE_IO_TYPE {
  WdfDeviceIoUndefined,
  WdfDeviceIoNeither,
  WdfDeviceIoBuffered,
  WdfDeviceIoDirect,
  WdfDeviceIoBufferedOrDirect,
  WdfDeviceIoMaximum
} WDF_DEVICE_IO_TYPE, *PWDF_DEVICE_IO_TYPE;

View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ne-wdfdevice-_wdf_device_io_type)

_WDF_DEVICE_IO_TYPE enumeration (wdfdevice.h)

Description

[Applies to KMDF and UMDF]

The WDF_DEVICE_IO_TYPE enumeration is used to specify a method for accessing data buffers.

Constants

WdfDeviceIoUndefined:0

Reserved for system use.

WdfDeviceIoNeither

UMDF This value is not used by UMDF drivers. A UMDF driver can access device I/O control requests that specify the METHOD_NEITHER buffer access method by setting the UmdfMethodNeitherAction INF directive and using WdfDeviceIoBuffered or WdfDeviceIoDirect. For more information, see Specifying WDF Directives in INF Files.

KMDF Neither buffered nor direct I/O will be used to access data buffers.

WdfDeviceIoBuffered

Buffered I/O will be used to access data buffers.

WdfDeviceIoDirect

Direct I/O will be used to access data buffers.

WdfDeviceIoBufferedOrDirect:4

This value is not used by KMDF drivers.

UMDF Buffered I/O or direct I/O will be used to access data buffers.

WdfDeviceIoMaximum

Remarks

The WDF_DEVICE_IO_TYPE enumeration is used to specify buffer access method types in the WDF_IO_TYPE_CONFIG structure.

The WDF_IO_TYPE_CONFIG structure is used as input to WdfDeviceInitSetIoTypeEx and WdfDeviceInitSetIoType.

See also

WDF_IO_TYPE_CONFIG

WdfDeviceInitSetIoType

WdfDeviceInitSetIoTypeEx


Windows Driver Kit DDI reference (ne-wudfddi_types-_wdf_device_io_type)

_WDF_DEVICE_IO_TYPE enumeration (wudfddi_types.h)

Description

[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. For more info, see Getting Started with UMDF.]

The WDF_DEVICE_IO_TYPE enumeration is used to specify a method for accessing data buffers.

Constants

WdfDeviceIoUndefined

Reserved for system use.

WdfDeviceIoNeither

Reserved for system use.

WdfDeviceIoBuffered

UMDF and the driver use buffered I/O to access data buffers.

WdfDeviceIoDirect

UMDF and the driver use direct I/O to access data buffers.

WdfDeviceIoBufferedOrDirect

UMDF and the driver can use either buffered I/O or direct I/O to access data buffers.

WdfDeviceIoMaximum

Reserved for system use.

Remarks

The WDF_DEVICE_IO_TYPE enumeration is used as input to IWDFDeviceInitialize2::SetIoTypePreference and as output from IWDFIoRequest2::GetEffectiveIoType.

You should use the following guidelines when choosing an I/O type for your driver:

For more information about accessing an I/O request's data buffers, see Accessing Data Buffers in UMDF-Based Drivers.

For the KMDF version of this enumeration, see WDF_DEVICE_IO_TYPE.

See also

IWDFDeviceInitialize2::SetIoTypePreference

IWDFIoRequest2::GetEffectiveIoType

WDF_DEVICE_IO_BUFFER_RETRIEVAL