10 #if defined(EVENT_TRACING) 11 #include "PoxInterfaceKm.tmh" 31 "WDFDEVICE 0x%p !devobj 0x%p PO_FX_COMPONENT_IDLE_STATE_CALLBACK " 46 if ((
NULL != poxSettings) &&
47 (
NULL != poxSettings->ComponentIdleStateCallback)) {
53 "WDFDEVICE 0x%p !devobj 0x%p Invoking client driver's " 54 "PO_FX_COMPONENT_IDLE_STATE_CALLBACK.",
59 poxSettings->ComponentIdleStateCallback(
60 poxSettings->PoFxDeviceContext,
83 "WDFDEVICE 0x%p !devobj 0x%p PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK " 98 if ((
NULL != poxSettings) &&
99 (
NULL != poxSettings->ComponentActiveConditionCallback)) {
105 "WDFDEVICE 0x%p !devobj 0x%p Invoking client driver's " 106 "PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK.",
111 poxSettings->ComponentActiveConditionCallback(
112 poxSettings->PoFxDeviceContext,
140 "WDFDEVICE 0x%p !devobj 0x%p PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK " 155 if ((
NULL != poxSettings) &&
156 (
NULL != poxSettings->ComponentIdleConditionCallback)) {
162 "WDFDEVICE 0x%p !devobj 0x%p Invoking client driver's " 163 "PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK.",
168 poxSettings->ComponentIdleConditionCallback(
169 poxSettings->PoFxDeviceContext,
204 PoFxCompleteDevicePowerNotRequired(pThis->
m_PoHandle);
231 "WDFDEVICE 0x%p !devobj 0x%p PO_FX_POWER_CONTROL_CALLBACK invoked.",
246 (
NULL != poxSettings->PowerControlCallback));
251 status = poxSettings->PowerControlCallback(poxSettings->PoFxDeviceContext,
263 "WDFDEVICE 0x%p !devobj 0x%p Client driver's " 264 "PO_FX_POWER_CONTROL_CALLBACK returned %!STATUS!.",
336 poxDevice.Components[0].IdleStateCount = 1;
356 poxDevice.Components[0].IdleStates = &idleState;
364 sizeof(poxDevice.Components[0]));
370 status = PoFxRegisterDevice(
379 "WDFDEVICE 0x%p !devobj 0x%p FxPox::PoxRegisterDevice failed. " 458 PoFxSetDeviceIdleTimeout(
m_PoHandle, IdleTimeout);
__inline CfxDevice * GetDevice(VOID)
static PO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK PowerNotRequiredCallback
MdDeviceObject __inline GetDeviceObject(VOID)
_In_ UCHAR _In_ ULONG _Out_ PUCHAR _Outptr_result_bytebuffer_ OutBufferLength PVOID * OutBuffer
VOID PowerRequiredCallbackWorker(__in BOOLEAN InvokedFromPoxCallback)
ULONGLONG TransitionLatency
WDFDEVICE __inline GetHandle(VOID)
PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveConditionCallback
VOID PoxIdleComponent(VOID)
PPO_FX_COMPONENT_IDLE_STATE_CALLBACK ComponentIdleStateCallback
VOID PoxReportDevicePoweredOn(VOID)
PPO_FX_POWER_CONTROL_CALLBACK PowerControlCallback
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesReturned
VOID PoxStartDevicePowerManagement(VOID)
#define TRACE_LEVEL_VERBOSE
VOID PoxSetDeviceIdleTimeout(__in ULONGLONG IdleTimeout)
_In_ LPCGUID PowerControlCode
struct _POX_SETTINGS * GetPowerFrameworkSettings(VOID)
static PO_FX_DEVICE_POWER_REQUIRED_CALLBACK PowerRequiredCallback
static PO_FX_POWER_CONTROL_CALLBACK PowerControlCallback
#define _Out_writes_bytes_opt_(size)
ULONGLONG ResidencyRequirement
MdDeviceObject __inline GetPhysicalDevice(VOID)
#define NT_SUCCESS(StatCode)
static PO_FX_COMPONENT_IDLE_STATE_CALLBACK StateCallback
NTSTATUS PoxRegisterDevice(VOID)
PPO_FX_DEVICE_POWER_REQUIRED_CALLBACK DevicePowerRequiredCallback
#define TRACE_LEVEL_ERROR
#define _IRQL_requires_max_(irql)
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
PPO_FX_COMPONENT Component
PPO_FX_POWER_CONTROL_CALLBACK PowerControlCallback
_Function_class_(PO_FX_POWER_CONTROL_CALLBACK) _IRQL_requires_max_(DISPATCH_LEVEL) NTSTATUS FxPoxInterface
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
#define _In_reads_bytes_opt_(size)
PPO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK DevicePowerNotRequiredCallback
static PO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveCallback
#define RtlZeroMemory(Destination, Length)
#define RtlCopyMemory(Destination, Source, Length)
static PO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleCallback
VOID PoxActivateComponent(VOID)
VOID PowerNotRequiredCallbackWorker(__in BOOLEAN InvokedFromPoxCallback)
static SERVICE_STATUS status
PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleConditionCallback
VOID PoxUnregisterDevice(VOID)