ReactOS  0.4.15-dev-3446-g30010a5
poweridlestatemachine.cpp File Reference
#include "pnppriv.hpp"
Include dependency graph for poweridlestatemachine.cpp:

Go to the source code of this file.

Functions

__inline FxPkgPnpGetPnpPkg (__inout FxPowerIdleMachine *This)
 
 __drv_maxIRQL (DISPATCH_LEVEL) __drv_minIRQL(DISPATCH_LEVEL) __drv_requiresIRQL(DISPATCH_LEVEL) __drv_sameIRQL VOID FxPowerIdleMachine
 

Function Documentation

◆ __drv_maxIRQL()

__drv_maxIRQL ( DISPATCH_LEVEL  )

Definition at line 1256 of file poweridlestatemachine.cpp.

1281 {
1282  FxPowerIdleMachine* pThis;
1283 
1287 
1288  pThis = (FxPowerIdleMachine*) Context;
1289 
1290  pThis->m_Lock.AcquireAtDpcLevel();
1292 
1293 #if FX_IS_KERNEL_MODE
1295  PFN_WDF_DRIVER_DEVICE_ADD pDriverDeviceAdd;
1296 
1298 
1299  //
1300  // We need to provide XPerf with a symbol of the client to figure out
1301  // which component this idle timer is for. Since AddDevice is always there
1302  // we use that to pass the symbol along.
1303  //
1304  pDriverDeviceAdd = pFxDriverGlobals->Driver->GetDriverDeviceAddMethod();
1305 
1306  FxPerfTraceDpc(&pDriverDeviceAdd);
1307 #endif
1308 
1309  pThis->m_Lock.ReleaseFromDpcLevel();
1310 }
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
Definition: wdfdpc.h:107
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
EVT_WDF_DRIVER_DEVICE_ADD * PFN_WDF_DRIVER_DEVICE_ADD
Definition: wdfdriver.h:78
FxDriver * Driver
Definition: fxglobals.h:374
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:675
PFX_DRIVER_GLOBALS pFxDriverGlobals
FORCEINLINE VOID FxPerfTraceDpc(_In_ PVOID DriverCallback)
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:675
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
Definition: fxobject.hpp:734
__inline FxPkgPnp * GetPnpPkg(__inout FxPowerIdleMachine *This)
VOID ProcessEventLocked(__in FxPowerIdleEvents Event)
__inline PFN_WDF_DRIVER_DEVICE_ADD GetDriverDeviceAddMethod()
Definition: fxdriver.hpp:362

◆ GetPnpPkg()

__inline FxPkgPnp* GetPnpPkg ( __inout FxPowerIdleMachine This)

Definition at line 322 of file poweridlestatemachine.cpp.

325 {
326  return CONTAINING_RECORD(This,
328  m_PowerIdleMachine)->m_PkgPnp;
329 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by __drv_maxIRQL(), FxPowerIdleMachine::DisablingTimerExpired(), FxPowerIdleMachine::InDxIoIncrement(), FxPowerIdleMachine::IoDecrement(), FxPowerIdleMachine::PowerReferenceWorker(), FxPowerIdleMachine::ProcessEventLocked(), FxPowerIdleMachine::Reset(), FxPowerIdleMachine::SendD0Notification(), FxPowerIdleMachine::TimedOutIoIncrement(), and FxPowerIdleMachine::TimingOut().