ReactOS  0.4.15-dev-2155-g06f57e1
fxioqueue.hpp File Reference
Include dependency graph for fxioqueue.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FxIoQueueNode
 
struct  _FXIO_FORWARD_PROGRESS_CONTEXT
 
class  FxIoQueue
 

Typedefs

typedef enum FxIoQueuePowerState FXIOQUEUE_POWER_STATE
 
typedef struct _FXIO_FORWARD_PROGRESS_CONTEXT FXIO_FORWARD_PROGRESS_CONTEXT
 
typedef struct _FXIO_FORWARD_PROGRESS_CONTEXTPFXIO_FORWARD_PROGRESS_CONTEXT
 
typedef enum _FX_IO_QUEUE_SET_STATE FX_IO_QUEUE_SET_STATE
 
typedef enum _FX_IO_QUEUE_STATE FX_IO_QUEUE_STATE
 

Enumerations

enum  FxIoQueueNodeType { FxIoQueueNodeTypeInvalid = 0, FxIoQueueNodeTypeQueue, FxIoQueueNodeTypeBookmark, FxIoQueueNodeTypeLast }
 
enum  FxIoQueuePowerState {
  FxIoQueuePowerInvalid = 0, FxIoQueuePowerOn, FxIoQueuePowerOff, FxIoQueuePowerStartingTransition,
  FxIoQueuePowerStopping, FxIoQueuePowerStoppingNotifyingDriver, FxIoQueuePowerStoppingDriverNotified, FxIoQueuePowerPurge,
  FxIoQueuePowerPurgeNotifyingDriver, FxIoQueuePowerPurgeDriverNotified, FxIoQueuePowerRestarting, FxIoQueuePowerRestartingNotifyingDriver,
  FxIoQueuePowerRestartingDriverNotified, FxIoQueuePowerLast
}
 
enum  _FX_IO_QUEUE_SET_STATE {
  FxIoQueueSetAcceptRequests = 0x80000001, FxIoQueueClearAcceptRequests = 0x80000002, FxIoQueueSetDispatchRequests = 0x80000004, FxIoQueueClearDispatchRequests = 0x80000008,
  FxIoQueueSetShutdown = 0x80010000, FxIoQueueClearShutdown = 0x80020000
}
 
enum  _FX_IO_QUEUE_STATE {
  FxIoQueueAcceptRequests = WdfIoQueueAcceptRequests, FxIoQueueDispatchRequests = WdfIoQueueDispatchRequests, FxIoQueueNoRequests = WdfIoQueueNoRequests, FxIoQueueDriverNoRequests = WdfIoQueueDriverNoRequests,
  FxIoQueuePnpHeld = WdfIoQueuePnpHeld, FxIoQueueShutdown = 0x00010000
}
 

Typedef Documentation

◆ FX_IO_QUEUE_SET_STATE

◆ FX_IO_QUEUE_STATE

◆ FXIO_FORWARD_PROGRESS_CONTEXT

◆ FXIOQUEUE_POWER_STATE

◆ PFXIO_FORWARD_PROGRESS_CONTEXT

Enumeration Type Documentation

◆ _FX_IO_QUEUE_SET_STATE

Enumerator
FxIoQueueSetAcceptRequests 
FxIoQueueClearAcceptRequests 
FxIoQueueSetDispatchRequests 
FxIoQueueClearDispatchRequests 
FxIoQueueSetShutdown 
FxIoQueueClearShutdown 

Definition at line 195 of file fxioqueue.hpp.

◆ _FX_IO_QUEUE_STATE

Enumerator
FxIoQueueAcceptRequests 
FxIoQueueDispatchRequests 
FxIoQueueNoRequests 
FxIoQueueDriverNoRequests 
FxIoQueuePnpHeld 
FxIoQueueShutdown 

Definition at line 208 of file fxioqueue.hpp.

208  {
209  //
210  // private == public values (low word).
211  //
216  FxIoQueuePnpHeld = WdfIoQueuePnpHeld, // 0x00000010
217  //
218  // private values only (high word).
219  //
220  // Queue is being shut down. Flag on means do not queue any request
221  // even if the accept request state is set. This flag prevents the
222  // following scenarios:
223  // (1) a race condition where a dispatch queue handler changes the
224  // state of the queue to accept_requests while we are in the
225  // middle of a power stopping (purge) operation (Win7 719587).
226  // (2) another thread calling Stop or Start on a queue that is in the
227  // middle of a power stopping (purge) operation.
228  //
229  FxIoQueueShutdown = 0x00010000
enum _FX_IO_QUEUE_STATE FX_IO_QUEUE_STATE

◆ FxIoQueueNodeType

Enumerator
FxIoQueueNodeTypeInvalid 
FxIoQueueNodeTypeQueue 
FxIoQueueNodeTypeBookmark 
FxIoQueueNodeTypeLast 

Definition at line 44 of file fxioqueue.hpp.

◆ FxIoQueuePowerState

Enumerator
FxIoQueuePowerInvalid 
FxIoQueuePowerOn 
FxIoQueuePowerOff 
FxIoQueuePowerStartingTransition 
FxIoQueuePowerStopping 
FxIoQueuePowerStoppingNotifyingDriver 
FxIoQueuePowerStoppingDriverNotified 
FxIoQueuePowerPurge 
FxIoQueuePowerPurgeNotifyingDriver 
FxIoQueuePowerPurgeDriverNotified 
FxIoQueuePowerRestarting 
FxIoQueuePowerRestartingNotifyingDriver 
FxIoQueuePowerRestartingDriverNotified 
FxIoQueuePowerLast 

Definition at line 130 of file fxioqueue.hpp.