ReactOS 0.4.15-dev-7918-g2a2556c
rxworkq.h
Go to the documentation of this file.
1#ifndef _RXWORKQ_H_
2#define _RXWORKQ_H_
3
4typedef
8
9typedef struct _RX_WORK_QUEUE_ITEM_
10{
14
16{
21
23{
28
30{
35
36typedef struct _RX_WORK_QUEUE_
37{
59
61{
64
66{
70
71typedef struct _RX_DISPATCHER_
72{
82
86 _In_ PRDBSS_DEVICE_OBJECT pMRxDeviceObject,
87 _In_ WORK_QUEUE_TYPE WorkQueueType,
88 _In_ PRX_WORK_QUEUE_ITEM pWorkQueueItem,
90 _In_ PVOID pContext);
91
95 _In_ PRDBSS_DEVICE_OBJECT pMRxDeviceObject,
96 _In_ WORK_QUEUE_TYPE WorkQueueType,
98 _In_ PVOID pContext);
99
101NTAPI
103 VOID);
104
107 _Inout_ PRDBSS_DEVICE_OBJECT pMRxDeviceObject);
108
109#endif
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
#define _Inout_
Definition: ms_sal.h:378
#define _In_
Definition: ms_sal.h:308
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
#define RxMaximumWorkQueue
Definition: rxtypes.h:6
enum _RX_DISPATCHER_STATE_ RX_DISPATCHER_STATE
enum _RX_WORK_QUEUE_STATE_ * PRX_WORK_QUEUE_STATE
struct _RX_WORK_QUEUE_ * PRX_WORK_QUEUE
struct _RX_WORK_QUEUE_RUNDOWN_CONTEXT_ * PRX_WORK_QUEUE_RUNDOWN_CONTEXT
struct _RX_WORK_DISPATCH_ITEM_ RX_WORK_DISPATCH_ITEM
_RX_WORK_QUEUE_STATE_
Definition: rxworkq.h:23
@ RxWorkQueueRundownInProgress
Definition: rxworkq.h:26
@ RxWorkQueueActive
Definition: rxworkq.h:24
@ RxWorkQueueInactive
Definition: rxworkq.h:25
struct _RX_WORK_QUEUE_ITEM_ * PRX_WORK_QUEUE_ITEM
struct _RX_DISPATCHER_ RX_DISPATCHER
struct _RX_DISPATCHER_ * PRX_DISPATCHER
struct _RX_WORK_QUEUE_ RX_WORK_QUEUE
enum _RX_DISPATCHER_STATE_ * PRX_DISPATCHER_STATE
NTSTATUS NTAPI RxPostToWorkerThread(_In_ PRDBSS_DEVICE_OBJECT pMRxDeviceObject, _In_ WORK_QUEUE_TYPE WorkQueueType, _In_ PRX_WORK_QUEUE_ITEM pWorkQueueItem, _In_ PRX_WORKERTHREAD_ROUTINE Routine, _In_ PVOID pContext)
Definition: rxce.c:6400
_RX_DISPATCHER_STATE_
Definition: rxworkq.h:66
@ RxDispatcherActive
Definition: rxworkq.h:67
@ RxDispatcherInactive
Definition: rxworkq.h:68
NTSTATUS RxInitializeMRxDispatcher(_Inout_ PRDBSS_DEVICE_OBJECT pMRxDeviceObject)
NTSTATUS NTAPI RxDispatchToWorkerThread(_In_ PRDBSS_DEVICE_OBJECT pMRxDeviceObject, _In_ WORK_QUEUE_TYPE WorkQueueType, _In_ PRX_WORKERTHREAD_ROUTINE Routine, _In_ PVOID pContext)
struct _RX_WORK_DISPATCH_ITEM_ * PRX_WORK_DISPATCH_ITEM
struct _RX_WORK_QUEUE_DISPATCHER_ RX_WORK_QUEUE_DISPATCHER
struct _RX_WORK_QUEUE_ITEM_ RX_WORK_QUEUE_ITEM
NTSTATUS NTAPI RxInitializeDispatcher(VOID)
Definition: rxce.c:4688
enum _RX_WORK_QUEUE_STATE_ RX_WORK_QUEUE_STATE
struct _RX_WORK_QUEUE_DISPATCHER_ * PRX_WORK_QUEUE_DISPATCHER
VOID(NTAPI * PRX_WORKERTHREAD_ROUTINE)(_In_ PVOID Context)
Definition: rxworkq.h:6
struct _RX_WORK_QUEUE_RUNDOWN_CONTEXT_ RX_WORK_QUEUE_RUNDOWN_CONTEXT
Definition: typedefs.h:120
LONG NumberOfProcessors
Definition: rxworkq.h:73
PRX_WORK_QUEUE_DISPATCHER pWorkQueueDispatcher
Definition: rxworkq.h:75
PEPROCESS OwnerProcess
Definition: rxworkq.h:74
KEVENT SpinUpRequestsTearDownEvent
Definition: rxworkq.h:80
RX_DISPATCHER_STATE State
Definition: rxworkq.h:76
LIST_ENTRY SpinUpRequests
Definition: rxworkq.h:77
KSPIN_LOCK SpinUpRequestsLock
Definition: rxworkq.h:78
KEVENT SpinUpRequestsEvent
Definition: rxworkq.h:79
RX_WORK_QUEUE_ITEM WorkQueueItem
Definition: rxworkq.h:17
PRX_WORKERTHREAD_ROUTINE DispatchRoutine
Definition: rxworkq.h:18
PVOID DispatchRoutineParameter
Definition: rxworkq.h:19
RX_WORK_QUEUE WorkQueue[RxMaximumWorkQueue]
Definition: rxworkq.h:62
PRDBSS_DEVICE_OBJECT pDeviceObject
Definition: rxworkq.h:12
KSPIN_LOCK SpinLock
Definition: rxworkq.h:41
volatile LONG WorkQueueItemForSpinUpWorkerThreadInUse
Definition: rxworkq.h:52
volatile LONG NumberOfWorkItemsDispatched
Definition: rxworkq.h:43
KQUEUE Queue
Definition: rxworkq.h:56
LONG MaximumNumberOfWorkerThreads
Definition: rxworkq.h:47
LONG NumberOfSpinUpRequests
Definition: rxworkq.h:46
RX_WORK_QUEUE_ITEM WorkQueueItemForSpinDownWorkerThread
Definition: rxworkq.h:55
RX_WORK_QUEUE_ITEM WorkQueueItemForSpinUpWorkerThread
Definition: rxworkq.h:54
LONG MinimumNumberOfWorkerThreads
Definition: rxworkq.h:48
volatile LONG NumberOfIdleWorkerThreads
Definition: rxworkq.h:50
BOOLEAN SpinUpRequestPending
Definition: rxworkq.h:39
USHORT State
Definition: rxworkq.h:38
volatile LONG NumberOfActiveWorkerThreads
Definition: rxworkq.h:49
LONG NumberOfFailedSpinUpRequests
Definition: rxworkq.h:51
PRX_WORK_QUEUE_RUNDOWN_CONTEXT pRundownContext
Definition: rxworkq.h:42
RX_WORK_QUEUE_ITEM WorkQueueItemForTearDownWorkQueue
Definition: rxworkq.h:53
PETHREAD * ThreadPointers
Definition: rxworkq.h:57
volatile LONG NumberOfWorkItemsToBeDispatched
Definition: rxworkq.h:44
LONG CumulativeQueueLength
Definition: rxworkq.h:45
UCHAR Type
Definition: rxworkq.h:40
#define NTAPI
Definition: typedefs.h:36
enum _WORK_QUEUE_TYPE WORK_QUEUE_TYPE
unsigned char UCHAR
Definition: xmlstorage.h:181