ReactOS  0.4.15-dev-3453-gff89651
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 
13 public:
16  );
17 
19  VOID
20  );
21 
22  NTSTATUS
24  VOID
25  );
26 
27  NTSTATUS
29  VOID
30  );
31 
32 
33  VOID
35  VOID
36  );
37 
38  FxPkgPnp*
40  VOID
41  )
42  {
43  return m_PkgPnp;
44  }
45 
46  POHANDLE
48  VOID
49  )
50  {
51  return m_PoHandle;
52  }
53 
54  NTSTATUS
56  VOID
57  );
58 
59  VOID
61  VOID
62  );
63 
64  VOID
66  VOID
67  );
68 
69  BOOLEAN
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 
104 private:
105 
106  NTSTATUS
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 
164 public:
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 
176 private:
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_
NTSTATUS InitializeComponents(VOID)
static PO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK PowerNotRequiredCallback
VOID PowerRequiredCallbackWorker(__in BOOLEAN InvokedFromPoxCallback)
BOOLEAN m_DevicePowerRequired
FxPoxInterface(__in FxPkgPnp *PkgPnp)
VOID PoxIdleComponent(VOID)
VOID DprProcessEventFromPoxCallback(__in FxDevicePwrRequirementEvents Event)
LONG NTSTATUS
Definition: precomp.h:26
VOID PoxReportDevicePoweredOn(VOID)
VOID DeviceIsPoweredOn(VOID)
MxLock m_DevicePowerRequiredLock
FxDevicePwrRequirementMachine * m_DevicePowerRequirementMachine
VOID PowerRequiredCallbackInvoked(VOID)
VOID PoxStartDevicePowerManagement(VOID)
VOID PoxSetDeviceIdleTimeout(__in ULONGLONG IdleTimeout)
unsigned char BOOLEAN
struct _POX_SETTINGS * GetPowerFrameworkSettings(VOID)
static PO_FX_DEVICE_POWER_REQUIRED_CALLBACK PowerRequiredCallback
VOID PowerNotRequiredCallbackInvoked(VOID)
BOOLEAN DeclareComponentIdle(VOID)
static PO_FX_POWER_CONTROL_CALLBACK PowerControlCallback
VOID RequestComponentActive(VOID)
VOID SimulateDevicePowerNotRequired(VOID)
uint64_t ULONGLONG
Definition: typedefs.h:67
FxPkgPnp * PkgPnp(VOID)
NTSTATUS CreateDevicePowerRequirementMachine(VOID)
static PO_FX_COMPONENT_IDLE_STATE_CALLBACK StateCallback
NTSTATUS PoxRegisterDevice(VOID)
NTSTATUS NotifyDevicePowerDown(VOID)
Definition: mxlock.h:101
VOID UninitializeComponents(VOID)
ULONG m_CurrentIdleTimeoutHint
POHANDLE GetPoHandle(VOID)
VOID UpdateIdleTimeoutHint(VOID)
unsigned int ULONG
Definition: retypes.h:1
static PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveCallback
FxPkgPnp * m_PkgPnp
static PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleCallback
VOID PoxActivateComponent(VOID)
VOID SimulateDevicePowerRequired(VOID)
#define __in
Definition: dbghelp.h:35
VOID PowerNotRequiredCallbackWorker(__in BOOLEAN InvokedFromPoxCallback)
VOID PoxUnregisterDevice(VOID)