WDF_IO_QUEUE_STATE - NtDoc

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

typedef enum _WDF_IO_QUEUE_STATE {
  WdfIoQueueAcceptRequests = 0x01,
  WdfIoQueueDispatchRequests = 0x02,
  WdfIoQueueNoRequests = 0x04,
  WdfIoQueueDriverNoRequests = 0x08,
  WdfIoQueuePnpHeld = 0x10
} WDF_IO_QUEUE_STATE;
View the official Windows Driver Kit DDI reference
// wudfddi_types.h

typedef enum _WDF_IO_QUEUE_STATE {
  WdfIoQueueAcceptRequests,
  WdfIoQueueDispatchRequests,
  WdfIoQueueNoRequests,
  WdfIoQueueDriverNoRequests,
  WdfIoQueuePnpHeld
} WDF_IO_QUEUE_STATE, *PWDF_IO_QUEUE_STATE;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ne-wdfio-_wdf_io_queue_state)

_WDF_IO_QUEUE_STATE enumeration (wdfio.h)

Description

[Applies to KMDF and UMDF]

The WDF_IO_QUEUE_STATE enumeration type identifies the status of a framework queue object. The enumerators are used as bit masks.

Constants

WdfIoQueueAcceptRequests:0x01

If set, the I/O queue can accept new I/O requests from the I/O manager and requests that are forwarded by the WdfDeviceConfigureRequestDispatching and WdfRequestForwardToIoQueue (or WdfRequestForwardToParentDeviceIoQueue) methods.

If not set, the framework cancels requests from the I/O manager and WdfDeviceConfigureRequestDispatching and fails requests from WdfRequestForwardToIoQueue (or WdfRequestForwardToParentDeviceIoQueue) with STATUS_WDF_BUSY.

WdfIoQueueDispatchRequests:0x02

If set, the framework delivers the queue's requests to the driver (unless the WdfIoQueuePnpHeld bit is also set). If not set, the driver cannot obtain requests from the queue.

WdfIoQueueNoRequests:0x04

If set, the I/O queue is empty.

WdfIoQueueDriverNoRequests:0x08

If set, all requests that have been delivered to the driver have been completed.

WdfIoQueuePnpHeld:0x10

If set, the framework has stopped delivering requests to the driver because the underlying device is not in its working (D0) state.

Remarks

The WDF_IO_QUEUE_STATE enumeration type is used as the return value for the WdfIoQueueGetState method.

The following functions are defined in wdfio.h:

See also

WdfIoQueueGetState


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

_WDF_IO_QUEUE_STATE 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_IO_QUEUE_STATE enumeration contains values that identify the state of an I/O queue.

Constants

WdfIoQueueAcceptRequests

If this value is set to 1, the queue accepts requests by automatically forwarding them through the setting of the IWDFIoQueue::ConfigureRequestDispatching method or by manually forwarding each request through a call to the IWDFIoRequest::ForwardToIoQueue method.

If this value is set to 0, the queue completes any automatically forwarded requests with "status canceled" or fails IWDFIoRequest::ForwardToIoQueue with "status busy".

WdfIoQueueDispatchRequests

If this value is set to 1, the queue automatically presents requests to the driver, unless the queue is a WdfIoQueueDispatchManual type (see WDF_IO_QUEUE_DISPATCH_TYPE).

If this value is set to 0, the queue does not automatically dispatch requests to the driver. The setting of this status does not prevent the driver from calling the IWDFIoQueue::RetrieveNextRequest method to manually retrieve a request from the queue.

WdfIoQueueNoRequests

If this value is set to 1, no requests are in the queue, even requests that can be presented to the driver and that can be returned from IWDFIoQueue::RetrieveNextRequest.

WdfIoQueueDriverNoRequests

If this value is set to 1, there are no requests that the driver currently operates on that it received from the queue.

WdfIoQueuePnpHeld

If this value is set to 1, an event from the Plug and Play (PnP) subsystem suspended the queue from processing requests.

See also

IWDFIoQueue::ConfigureRequestDispatching

IWDFIoQueue::RetrieveNextRequest

IWDFIoRequest::ForwardToIoQueue

WDF_IO_QUEUE_DISPATCH_TYPE