ReactOS 0.4.15-dev-7953-g1f49173
FxPowerMachine Struct Reference

#include <fxpowerstatemachine.hpp>

Inheritance diagram for FxPowerMachine:
Collaboration diagram for FxPowerMachine:

Public Member Functions

 FxPowerMachine (VOID)
 
_Must_inspect_result_ NTSTATUS Init (__inout FxPkgPnp *Pnp, __in PFN_PNP_EVENT_WORKER WorkerRoutine)
 
- Public Member Functions inherited from FxThreadedEventQueue
 FxThreadedEventQueue (__in UCHAR QueueDepth)
 
 ~FxThreadedEventQueue (VOID)
 
_Must_inspect_result_ NTSTATUS Init (__inout FxPkgPnp *Pnp, __in PFN_PNP_EVENT_WORKER WorkerRoutine, __in PVOID WorkerContext=NULL)
 
VOID QueueToThread (VOID)
 
- Public Member Functions inherited from FxEventQueue
 FxEventQueue (__in UCHAR QueueDepth)
 
_Must_inspect_result_ NTSTATUS Initialize (__in PFX_DRIVER_GLOBALS DriverGlobals)
 
 _Acquires_lock_ (this->m_QueueLock) __drv_maxIRQL(DISPATCH_LEVEL) __drv_setsIRQL(DISPATCH_LEVEL) VOID Lock(__out __drv_deref(__drv_savesIRQL) PKIRQL Irql)
 
 _Releases_lock_ (this->m_QueueLock) __drv_requiresIRQL(DISPATCH_LEVEL) VOID Unlock(__in __drv_restoresIRQL KIRQL Irql)
 
BOOLEAN IsFull (VOID)
 
BOOLEAN IsEmpty (VOID)
 
VOID IncrementHead (VOID)
 
UCHAR GetHead (VOID)
 
UCHAR InsertAtHead (VOID)
 
UCHAR InsertAtTail (VOID)
 
UCHAR IncrementHistoryIndex (VOID)
 
BOOLEAN IsClosedLocked (VOID)
 
VOID GetFinishedState (__inout FxPostProcessInfo *Info)
 
BOOLEAN SetFinished (__in FxCREvent *Event)
 
VOID SetDelayedDeletion (VOID)
 
- Public Member Functions inherited from FxStump
PVOID operator new (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals)
 
PVOID operator new (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in POOL_TYPE PoolType)
 
VOID operator delete (__in PVOID pointer)
 
PVOID operator new[] (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals)
 
VOID operator delete[] (__in PVOID pointer)
 

Public Attributes

FxPowerMachineEventQueue m_Queue
 
FxPowerMachineStateHistory m_States
 
MxLock m_WaitWakeLock
 
LIST_ENTRY m_WaitWakeIrpToBeProcessedList
 
union {
   USHORT   m_SingularEventsPresent
 
   union {
      USHORT   PowerD0Known: 1
 
      USHORT   PowerDxKnown: 1
 
      USHORT   PowerWakeArrivalKnown: 1
 
      USHORT   PowerWakeSucceededKnown: 1
 
      USHORT   PowerWakeFailedKnown: 1
 
      USHORT   PowerWakeCanceledKnown: 1
 
      USHORT   PowerImplicitD0Known: 1
 
      USHORT   PowerImplicitD3Known: 1
 
      USHORT   PowerParentToD0Known: 1
 
      USHORT   PowerMarkPageableKnown: 1
 
      USHORT   PowerMarkNonpageableKnown: 1
 
      USHORT   PowerCompleteD0Known: 1
 
      USHORT   PowerCompleteDxKnown: 1
 
   }   m_SingularEventsPresentByName
 
}; 
 
BOOLEAN m_IoCallbackFailure
 
BOOLEAN m_PowerDownFailure
 
- Public Attributes inherited from FxEventQueue
FxWaitLockInternal m_StateMachineLock
 

Additional Inherited Members

- Protected Member Functions inherited from FxThreadedEventQueue
VOID QueueWorkItem (VOID)
 
- Protected Member Functions inherited from FxEventQueue
VOID Configure (__in FxPkgPnp *Pnp, __in PFN_PNP_EVENT_WORKER WorkerRoutine, __in PVOID Context)
 
BOOLEAN QueueToThreadWorker (VOID)
 
VOID EventQueueWorker (VOID)
 
BOOLEAN IsIdleLocked (VOID)
 
- Protected Member Functions inherited from FxStump
 FxStump (VOID)
 
- Protected Attributes inherited from FxThreadedEventQueue
MxWorkItem m_WorkItem
 
WORK_QUEUE_ITEM m_EventWorkQueueItem
 
- Protected Attributes inherited from FxEventQueue
UCHAR m_QueueHead
 
UCHAR m_QueueTail
 
UCHAR m_QueueDepth
 
UCHAR m_HistoryIndex
 
FxPkgPnpm_PkgPnp
 
PVOID m_EventWorkerContext
 
MxLock m_QueueLock
 
PFN_PNP_EVENT_WORKER m_EventWorker
 
FxCREventm_WorkItemFinished
 
union {
   UCHAR   m_QueueFlags
 
   struct {
      UCHAR   WorkItemQueued: 1
 
      UCHAR   Closed: 1
 
      UCHAR   DelayDeletion: 1
 
   }   m_QueueFlagsByName
 
}; 
 
UCHAR m_WorkItemRunningCount
 
- Static Protected Attributes inherited from FxThreadedEventQueue
static WORKER_THREAD_ROUTINE _WorkerThreadRoutine
 
static MX_WORKITEM_ROUTINE _WorkItemCallback
 

Detailed Description

Definition at line 207 of file fxpowerstatemachine.hpp.

Constructor & Destructor Documentation

◆ FxPowerMachine()

FxPowerMachine::FxPowerMachine ( VOID  )
inline

Definition at line 208 of file fxpowerstatemachine.hpp.

211 {
212 //
213 // m_WaitWakeLock can not be initialized here since Initiliaze can
214 // return failure for UM. It's now being initialized in Init() function.
215 //
216
218
219 RtlZeroMemory(&m_Queue, sizeof(m_Queue));
221
226 }
#define FALSE
Definition: types.h:117
#define InitializeListHead(ListHead)
Definition: env_spec_w32.h:944
const UCHAR PowerEventQueueDepth
Definition: fxpkgpnp.hpp:34
UCHAR IncrementHistoryIndex(VOID)
FxPowerMachineEventQueue m_Queue
FxPowerMachineStateHistory m_States
LIST_ENTRY m_WaitWakeIrpToBeProcessedList
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
USHORT History[PowerEventQueueDepth]
@ WdfDevStatePowerObjectCreated
Definition: wdfdevice.h:130

Member Function Documentation

◆ Init()

_Must_inspect_result_ NTSTATUS FxPowerMachine::Init ( __inout FxPkgPnp Pnp,
__in PFN_PNP_EVENT_WORKER  WorkerRoutine 
)

Definition at line 1054 of file powerstatemachine.cpp.

1058{
1060
1062 if (!NT_SUCCESS(status)) {
1063 return status;
1064 }
1065
1066 return STATUS_SUCCESS;
1067}
LONG NTSTATUS
Definition: precomp.h:26
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA _In_ PFLT_DEFERRED_IO_WORKITEM_ROUTINE WorkerRoutine
Definition: fltkernel.h:1977
#define STATUS_SUCCESS
Definition: shellext.h:65
_Must_inspect_result_ NTSTATUS Init(__inout FxPkgPnp *Pnp, __in PFN_PNP_EVENT_WORKER WorkerRoutine, __in PVOID WorkerContext=NULL)
Definition: eventqueue.cpp:370
Definition: ps.c:97

Referenced by FxPkgPnp::PostCreateDeviceInitialize().

Member Data Documentation

◆ 

union { ... } FxPowerMachine::@4792

◆ m_IoCallbackFailure

BOOLEAN FxPowerMachine::m_IoCallbackFailure

◆ m_PowerDownFailure

BOOLEAN FxPowerMachine::m_PowerDownFailure

◆ m_Queue

◆ m_SingularEventsPresent

USHORT FxPowerMachine::m_SingularEventsPresent

◆ 

union { ... } FxPowerMachine::m_SingularEventsPresentByName

◆ m_States

◆ m_WaitWakeIrpToBeProcessedList

LIST_ENTRY FxPowerMachine::m_WaitWakeIrpToBeProcessedList

◆ m_WaitWakeLock

◆ PowerCompleteD0Known

USHORT FxPowerMachine::PowerCompleteD0Known

Definition at line 275 of file fxpowerstatemachine.hpp.

◆ PowerCompleteDxKnown

USHORT FxPowerMachine::PowerCompleteDxKnown

Definition at line 276 of file fxpowerstatemachine.hpp.

◆ PowerD0Known

USHORT FxPowerMachine::PowerD0Known

Definition at line 264 of file fxpowerstatemachine.hpp.

◆ PowerDxKnown

USHORT FxPowerMachine::PowerDxKnown

Definition at line 265 of file fxpowerstatemachine.hpp.

◆ PowerImplicitD0Known

USHORT FxPowerMachine::PowerImplicitD0Known

Definition at line 270 of file fxpowerstatemachine.hpp.

◆ PowerImplicitD3Known

USHORT FxPowerMachine::PowerImplicitD3Known

Definition at line 271 of file fxpowerstatemachine.hpp.

◆ PowerMarkNonpageableKnown

USHORT FxPowerMachine::PowerMarkNonpageableKnown

Definition at line 274 of file fxpowerstatemachine.hpp.

◆ PowerMarkPageableKnown

USHORT FxPowerMachine::PowerMarkPageableKnown

Definition at line 273 of file fxpowerstatemachine.hpp.

◆ PowerParentToD0Known

USHORT FxPowerMachine::PowerParentToD0Known

Definition at line 272 of file fxpowerstatemachine.hpp.

◆ PowerWakeArrivalKnown

USHORT FxPowerMachine::PowerWakeArrivalKnown

Definition at line 266 of file fxpowerstatemachine.hpp.

◆ PowerWakeCanceledKnown

USHORT FxPowerMachine::PowerWakeCanceledKnown

Definition at line 269 of file fxpowerstatemachine.hpp.

◆ PowerWakeFailedKnown

USHORT FxPowerMachine::PowerWakeFailedKnown

Definition at line 268 of file fxpowerstatemachine.hpp.

◆ PowerWakeSucceededKnown

USHORT FxPowerMachine::PowerWakeSucceededKnown

Definition at line 267 of file fxpowerstatemachine.hpp.


The documentation for this struct was generated from the following files: