ReactOS 0.4.15-dev-7953-g1f49173
fxpoxinterface.hpp
Go to the documentation of this file.
1//
2// Copyright (C) Microsoft. All rights reserved.
3//
4#ifndef _FXPOXINTERFACE_H_
5#define _FXPOXINTERFACE_H_
6
8
10
12
13public:
16 );
17
19 VOID
20 );
21
24 VOID
25 );
26
29 VOID
30 );
31
32
33 VOID
35 VOID
36 );
37
40 VOID
41 )
42 {
43 return m_PkgPnp;
44 }
45
46 POHANDLE
48 VOID
49 )
50 {
51 return m_PoHandle;
52 }
53
56 VOID
57 );
58
59 VOID
61 VOID
62 );
63
64 VOID
66 VOID
67 );
68
71 VOID
72 );
73
74 VOID
76 VOID
77 );
78
79 VOID
81 VOID
82 );
83
84 VOID
86 VOID
87 );
88
89 VOID
91 VOID
92 );
93
94 VOID
96 VOID
97 );
98
99 VOID
101 VOID
102 );
103
104private:
105
108 VOID
109 );
110
111 VOID
114 );
115
116 struct _POX_SETTINGS *
118 VOID
119 );
120
121 VOID
123 __in BOOLEAN InvokedFromPoxCallback
124 );
125
126 VOID
128 __in BOOLEAN InvokedFromPoxCallback
129 );
130
131 VOID
133 VOID
134 );
135
136
137 VOID
139 VOID
140 );
141
142 VOID
144 VOID
145 );
146
147 VOID
149 VOID
150 );
151
152 VOID
154 __in ULONGLONG IdleTimeout
155 );
156
157 static PO_FX_COMPONENT_IDLE_STATE_CALLBACK StateCallback;
158 static PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveCallback;
159 static PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleCallback;
160 static PO_FX_DEVICE_POWER_REQUIRED_CALLBACK PowerRequiredCallback;
161 static PO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK PowerNotRequiredCallback;
162 static PO_FX_POWER_CONTROL_CALLBACK PowerControlCallback;
163
164public:
165 //
166 // Device power requirement state machine
167 //
169
170 //
171 // Idle timeout hint to be provided to power framework at the next
172 // opportunity, i.e. a pending update to the idle timeout hint.
173 //
175
176private:
178
179 //
180 // Handle obtained upon registration with power manager
181 //
182 POHANDLE m_PoHandle;
183
184 //
185 // Variable that tracks whether device power is required and the lock that
186 // protects this variable
187 //
190
191 //
192 // Idle timeout hint currently provided to power framework.
193 //
195};
196
197#endif // _FXPOXINTERFACE_H_
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
BOOLEAN DeclareComponentIdle(VOID)
FxDevicePwrRequirementMachine * m_DevicePowerRequirementMachine
VOID PoxActivateComponent(VOID)
VOID PoxReportDevicePoweredOn(VOID)
VOID SimulateDevicePowerNotRequired(VOID)
FxPkgPnp * PkgPnp(VOID)
VOID DeviceIsPoweredOn(VOID)
NTSTATUS CreateDevicePowerRequirementMachine(VOID)
struct _POX_SETTINGS * GetPowerFrameworkSettings(VOID)
VOID PowerRequiredCallbackWorker(__in BOOLEAN InvokedFromPoxCallback)
static PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveCallback
static PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleCallback
NTSTATUS NotifyDevicePowerDown(VOID)
VOID PoxStartDevicePowerManagement(VOID)
NTSTATUS InitializeComponents(VOID)
VOID PoxIdleComponent(VOID)
static PO_FX_COMPONENT_IDLE_STATE_CALLBACK StateCallback
VOID PowerNotRequiredCallbackWorker(__in BOOLEAN InvokedFromPoxCallback)
VOID UninitializeComponents(VOID)
static PO_FX_DEVICE_POWER_REQUIRED_CALLBACK PowerRequiredCallback
VOID PowerNotRequiredCallbackInvoked(VOID)
VOID PoxUnregisterDevice(VOID)
VOID PowerRequiredCallbackInvoked(VOID)
NTSTATUS PoxRegisterDevice(VOID)
BOOLEAN m_DevicePowerRequired
static PO_FX_POWER_CONTROL_CALLBACK PowerControlCallback
VOID SimulateDevicePowerRequired(VOID)
VOID PoxSetDeviceIdleTimeout(__in ULONGLONG IdleTimeout)
VOID DprProcessEventFromPoxCallback(__in FxDevicePwrRequirementEvents Event)
FxPkgPnp * m_PkgPnp
VOID RequestComponentActive(VOID)
ULONG m_CurrentIdleTimeoutHint
POHANDLE GetPoHandle(VOID)
MxLock m_DevicePowerRequiredLock
VOID UpdateIdleTimeoutHint(VOID)
static PO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK PowerNotRequiredCallback
Definition: mxlock.h:102
#define __in
Definition: dbghelp.h:35
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67