ReactOS  0.4.15-dev-3294-ge98684e
fxdevicepwrreqstatemachine.hpp
Go to the documentation of this file.
1 //
2 // Copyright (C) Microsoft. All rights reserved.
3 //
4 #ifndef _FXDEVICEPWRREQUIRESTATEMACHINE_H_
5 #define _FXDEVICEPWRREQUIRESTATEMACHINE_H_
6 
7 //
8 // This is a magical number based on inspection. If the queue overflows,
9 // it is OK to increase these numbers without fear of either dependencies or
10 // weird side affects.
11 //
13 
22  DprEventNull = 0xFF,
23 };
24 
35 };
36 
37 //
38 // Forward declaration
39 //
41 class FxPoxInterface;
42 
43 typedef
48  );
49 
52 
54 
55 #if FX_SUPER_DBG
56  BOOLEAN EventDebugged;
57 #endif
58 };
59 
60 //
61 // This type of union is done so that we can
62 // 1) shrink the array element to the smallest size possible
63 // 2) keep types within the structure so we can dump it in the debugger
64 //
66  struct {
75  } S;
76 
78 };
79 
82 
84 
86 };
87 
89 
90 public:
92  __in FxPoxInterface * PoxInterface
93  );
94 
95  VOID
98  );
99 
100  static
101  VOID
103  __inout FxPkgPnp* PkgPnp,
105  __in PVOID WorkerContext
106  );
107 
108 private:
109  VOID
112  );
113 
114  static
118  );
119 
120  static
124  );
125 
126  static
130  );
131 
132 protected:
134 
135  // uses FxDevicePwrRequirementStates values
137 
138  // three extra padded bytes are put in here by the compiler
139 
142 
144 
151 };
152 
153 #endif // _FXDEVICEPWRREQUIRESTATEMACHINE_H_
FxDevicePwrRequirementEvents m_Queue[FxDevicePwrRequirementEventQueueDepth]
static FxDevicePwrRequirementStates ReportingDevicePowerAvailable(__in FxDevicePwrRequirementMachine *This)
static const FxDevicePwrRequirementTargetState m_DevicePowerRequiredDxStates[]
struct FxDevicePwrRequirementMachineStateHistory::@4514 S
static const FxDevicePwrRequirementTargetState m_DevicePowerNotRequiredDxStates[]
static FxDevicePwrRequirementStates PowerRequiredDx(__in FxDevicePwrRequirementMachine *This)
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Definition: wdfchildlist.h:683
static const FxDevicePwrRequirementTargetState m_DevicePowerRequiredD0States[]
const FxDevicePwrRequirementTargetState * TargetStates
unsigned char BOOLEAN
FxDevicePwrRequirementMachineStateHistory m_States
VOID ProcessEventInner(__inout FxPostProcessInfo *Info)
static FxDevicePwrRequirementStates PowerNotRequiredD0(__in FxDevicePwrRequirementMachine *This)
static const FxDevicePwrRequirementTargetState m_UnregisteredStates[]
const UCHAR FxDevicePwrRequirementEventQueueDepth
PFN_DEVICE_POWER_REQUIREMENT_STATE_ENTRY_FUNCTION StateFunc
unsigned char UCHAR
Definition: xmlstorage.h:181
#define __inout
Definition: dbghelp.h:50
#define _Must_inspect_result_
Definition: ms_sal.h:558
unsigned char BYTE
Definition: xxhash.c:193
static const FxDevicePwrRequirementTargetState m_DevicePowerNotRequiredD0States[]
static VOID _ProcessEventInner(__inout FxPkgPnp *PkgPnp, __inout FxPostProcessInfo *Info, __in PVOID WorkerContext)
static const FxDevicePwrRequirementStateTable m_StateTable[]
_Must_inspect_result_ FxDevicePwrRequirementStates(* PFN_DEVICE_POWER_REQUIREMENT_STATE_ENTRY_FUNCTION)(__in FxDevicePwrRequirementMachine *This)
static const FxDevicePwrRequirementTargetState m_WaitingForDevicePowerRequiredD0States[]
unsigned int ULONG
Definition: retypes.h:1
VOID ProcessEvent(__in FxDevicePwrRequirementEvents Event)
FxDevicePwrRequirementMachine(__in FxPoxInterface *PoxInterface)
UCHAR History[FxDevicePwrRequirementEventQueueDepth]
#define __in
Definition: dbghelp.h:35