ReactOS  0.4.15-dev-3163-gf17c2c0
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)
VOID IncrementHead (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)
- 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
PVOID m_EventWorkerContext
MxLock m_QueueLock
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  )

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  //
219  RtlZeroMemory(&m_Queue, sizeof(m_Queue));
220  RtlZeroMemory(&m_States, sizeof(m_States));
226  }
const UCHAR PowerEventQueueDepth
Definition: fxpkgpnp.hpp:34
USHORT History[PowerEventQueueDepth]
UCHAR IncrementHistoryIndex(VOID)
FxThreadedEventQueue(__in UCHAR QueueDepth)
Definition: eventqueue.cpp:352
#define FALSE
Definition: types.h:117
FxPowerMachineEventQueue m_Queue
FxPowerMachineStateHistory m_States
#define InitializeListHead(ListHead)
Definition: env_spec_w32.h:944
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
LIST_ENTRY m_WaitWakeIrpToBeProcessedList

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 {
1059  NTSTATUS status;
1062  if (!NT_SUCCESS(status)) {
1063  return status;
1064  }
1066  return STATUS_SUCCESS;
1067 }
Definition: fltkernel.h:1976
Definition: precomp.h:26
_Must_inspect_result_ NTSTATUS Init(__inout FxPkgPnp *Pnp, __in PFN_PNP_EVENT_WORKER WorkerRoutine, __in PVOID WorkerContext=NULL)
Definition: eventqueue.cpp:370
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
Definition: shellext.h:65
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by FxPkgPnp::PostCreateDeviceInitialize().

Member Data Documentation

◆ @4548

union { ... }

◆ m_IoCallbackFailure

BOOLEAN FxPowerMachine::m_IoCallbackFailure

◆ m_PowerDownFailure

BOOLEAN FxPowerMachine::m_PowerDownFailure

◆ m_Queue

◆ m_SingularEventsPresent

USHORT FxPowerMachine::m_SingularEventsPresent

◆ m_SingularEventsPresentByName

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: