ReactOS 0.4.15-dev-8241-g63935f8
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
23};
24
34 DprMax
35};
36
37//
38// Forward declaration
39//
41class FxPoxInterface;
42
43typedef
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
90public:
92 __in FxPoxInterface * PoxInterface
93 );
94
95 VOID
98 );
99
100 static
101 VOID
103 __inout FxPkgPnp* PkgPnp,
105 __in PVOID WorkerContext
106 );
107
108private:
109 VOID
112 );
113
114 static
118 );
119
120 static
124 );
125
126 static
130 );
131
132protected:
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_
unsigned char BOOLEAN
static FxDevicePwrRequirementStates PowerRequiredDx(__in FxDevicePwrRequirementMachine *This)
FxDevicePwrRequirementMachineStateHistory m_States
static const FxDevicePwrRequirementTargetState m_UnregisteredStates[]
static const FxDevicePwrRequirementTargetState m_DevicePowerRequiredD0States[]
static FxDevicePwrRequirementStates PowerNotRequiredD0(__in FxDevicePwrRequirementMachine *This)
static FxDevicePwrRequirementStates ReportingDevicePowerAvailable(__in FxDevicePwrRequirementMachine *This)
static const FxDevicePwrRequirementTargetState m_DevicePowerNotRequiredDxStates[]
static const FxDevicePwrRequirementTargetState m_DevicePowerRequiredDxStates[]
static const FxDevicePwrRequirementTargetState m_WaitingForDevicePowerRequiredD0States[]
FxDevicePwrRequirementEvents m_Queue[FxDevicePwrRequirementEventQueueDepth]
static VOID _ProcessEventInner(__inout FxPkgPnp *PkgPnp, __inout FxPostProcessInfo *Info, __in PVOID WorkerContext)
VOID ProcessEvent(__in FxDevicePwrRequirementEvents Event)
VOID ProcessEventInner(__inout FxPostProcessInfo *Info)
static const FxDevicePwrRequirementTargetState m_DevicePowerNotRequiredD0States[]
static const FxDevicePwrRequirementStateTable m_StateTable[]
#define __in
Definition: dbghelp.h:35
#define __inout
Definition: dbghelp.h:50
_Must_inspect_result_ FxDevicePwrRequirementStates(* PFN_DEVICE_POWER_REQUIREMENT_STATE_ENTRY_FUNCTION)(__in FxDevicePwrRequirementMachine *This)
@ DprDevicePowerRequiredD0
@ DprDevicePowerNotRequiredD0
@ DprDevicePowerNotRequiredDx
@ DprWaitingForDevicePowerRequiredD0
@ DprDevicePowerRequiredDx
@ DprReportingDevicePowerAvailable
@ DprEventDeviceReturnedToD0
@ DprEventPoxDoesNotRequirePower
@ DprEventRegisteredWithPox
@ DprEventUnregisteredWithPox
@ DprEventPoxRequiresPower
const UCHAR FxDevicePwrRequirementEventQueueDepth
#define _Must_inspect_result_
Definition: ms_sal.h:558
const FxDevicePwrRequirementTargetState * TargetStates
PFN_DEVICE_POWER_REQUIREMENT_STATE_ENTRY_FUNCTION StateFunc
uint32_t ULONG
Definition: typedefs.h:59
UCHAR History[FxDevicePwrRequirementEventQueueDepth]
struct FxDevicePwrRequirementMachineStateHistory::@4770 S
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Definition: wdfchildlist.h:690
unsigned char UCHAR
Definition: xmlstorage.h:181
unsigned char BYTE
Definition: xxhash.c:193