ReactOS 0.4.16-dev-297-gc569aee
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.

195 {
196 FxIoQueueSetAcceptRequests = 0x80000001,
197 FxIoQueueClearAcceptRequests = 0x80000002,
198 FxIoQueueSetDispatchRequests = 0x80000004,
200 FxIoQueueSetShutdown = 0x80010000,
201 FxIoQueueClearShutdown = 0x80020000,
@ FxIoQueueClearShutdown
Definition: fxioqueue.hpp:201
@ FxIoQueueSetAcceptRequests
Definition: fxioqueue.hpp:196
@ FxIoQueueSetShutdown
Definition: fxioqueue.hpp:200
@ FxIoQueueClearDispatchRequests
Definition: fxioqueue.hpp:199
@ FxIoQueueSetDispatchRequests
Definition: fxioqueue.hpp:198
@ FxIoQueueClearAcceptRequests
Definition: fxioqueue.hpp:197
enum _FX_IO_QUEUE_SET_STATE FX_IO_QUEUE_SET_STATE

◆ _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
@ FxIoQueueShutdown
Definition: fxioqueue.hpp:229
@ FxIoQueueDispatchRequests
Definition: fxioqueue.hpp:213
@ FxIoQueueAcceptRequests
Definition: fxioqueue.hpp:212
@ FxIoQueuePnpHeld
Definition: fxioqueue.hpp:216
@ FxIoQueueNoRequests
Definition: fxioqueue.hpp:214
@ FxIoQueueDriverNoRequests
Definition: fxioqueue.hpp:215
enum _FX_IO_QUEUE_STATE FX_IO_QUEUE_STATE
@ WdfIoQueueDriverNoRequests
Definition: wdfio.h:128
@ WdfIoQueueAcceptRequests
Definition: wdfio.h:125
@ WdfIoQueueDispatchRequests
Definition: wdfio.h:126
@ WdfIoQueueNoRequests
Definition: wdfio.h:127
@ WdfIoQueuePnpHeld
Definition: wdfio.h:129

◆ FxIoQueueNodeType

Enumerator
FxIoQueueNodeTypeInvalid 
FxIoQueueNodeTypeQueue 
FxIoQueueNodeTypeBookmark 
FxIoQueueNodeTypeLast 

Definition at line 44 of file fxioqueue.hpp.

44 {
49};
@ FxIoQueueNodeTypeLast
Definition: fxioqueue.hpp:48
@ FxIoQueueNodeTypeInvalid
Definition: fxioqueue.hpp:45
@ FxIoQueueNodeTypeQueue
Definition: fxioqueue.hpp:46
@ FxIoQueueNodeTypeBookmark
Definition: fxioqueue.hpp:47

◆ FxIoQueuePowerState

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

Definition at line 130 of file fxioqueue.hpp.

130 {
@ FxIoQueuePowerStartingTransition
Definition: fxioqueue.hpp:134
@ FxIoQueuePowerPurgeDriverNotified
Definition: fxioqueue.hpp:140
@ FxIoQueuePowerRestarting
Definition: fxioqueue.hpp:141
@ FxIoQueuePowerStoppingDriverNotified
Definition: fxioqueue.hpp:137
@ FxIoQueuePowerRestartingNotifyingDriver
Definition: fxioqueue.hpp:142
@ FxIoQueuePowerInvalid
Definition: fxioqueue.hpp:131
@ FxIoQueuePowerStopping
Definition: fxioqueue.hpp:135
@ FxIoQueuePowerStoppingNotifyingDriver
Definition: fxioqueue.hpp:136
@ FxIoQueuePowerLast
Definition: fxioqueue.hpp:144
@ FxIoQueuePowerPurgeNotifyingDriver
Definition: fxioqueue.hpp:139
@ FxIoQueuePowerOn
Definition: fxioqueue.hpp:132
@ FxIoQueuePowerPurge
Definition: fxioqueue.hpp:138
@ FxIoQueuePowerOff
Definition: fxioqueue.hpp:133
@ FxIoQueuePowerRestartingDriverNotified
Definition: fxioqueue.hpp:143
enum FxIoQueuePowerState FXIOQUEUE_POWER_STATE