4 #include "../pnppriv.hpp" 10 #if defined(EVENT_TRACING) 11 #include "FxPkgPnpUM.tmh" 63 IWudfDeviceStack* devStack;
64 WmiIdleWakeInstanceUpdate updateType;
71 updateType = ForS0Idle ? AddS0IdleInstance : AddSxWakeInstance;
73 updateType = ForS0Idle ? RemoveS0IdleInstance : RemoveSxWakeInstance;
76 hr = devStack->UpdateIdleWakeWmiInstance(updateType);
81 PUMDF_VERSION_DATA driverVersion = devStack->GetMinDriverVersion();
83 devStack->ShouldPreserveIrpCompletionStatusCompatibility();
85 status = CHostFxUtil::NtStatusFromHr(
hr,
86 driverVersion->MajorNumber,
87 driverVersion->MinorNumber,
95 "failed to send ioctl to update %s WMI instance " 97 ForS0Idle ?
"S0Idle" :
"SxWake",
115 IWudfDeviceStack* devStack;
134 "RegOpenKeyEx returned error %d",
150 "failed to read registry, " 151 "RegQueryValueEx returned error %d",
160 if (
NULL != pwrPolKey) {
168 PUMDF_VERSION_DATA driverVersion = devStack->GetMinDriverVersion();
169 BOOL preserveCompat =
170 devStack->ShouldPreserveIrpCompletionStatusCompatibility();
173 driverVersion->MajorNumber,
174 driverVersion->MinorNumber,
191 IWudfDeviceStack* devStack;
192 UMINT::WDF_PROPERTY_STORE_ROOT propertyStore;
202 propertyStore.LengthCb =
sizeof(UMINT::WDF_PROPERTY_STORE_ROOT);
203 propertyStore.RootClass = UMINT::WdfPropertyStoreRootClassHardwareKey;
206 hr = devStack->CreateRegistryEntry(&propertyStore,
207 UMINT::WdfPropertyStoreCreateIfMissing,
230 "Failed to set Registry value " 231 "for S0Idle/SxWake error %d",
#define HRESULT_FROM_WIN32(x)
NTSTATUS FilterResourceRequirements(__in IO_RESOURCE_REQUIREMENTS_LIST **IoList)
#define UNREFERENCED_PARAMETER(P)
NTSTATUS UpdateWmiInstance(_In_ FxWmiInstanceAction Action, _In_ BOOLEAN ForS0Idle)
VOID WriteStateToRegistry(__in HANDLE RegKey, __in PUNICODE_STRING ValueName, __in ULONG Value)
VOID RevokeDmaEnablerResources(__in FxDmaEnabler *Enabler)
VOID AddDmaEnabler(__in FxDmaEnabler *Enabler)
return STATUS_NOT_IMPLEMENTED
VOID PnpPassThroughQIWorker(__in MxDeviceObject *Device, __inout FxIrp *Irp, __inout FxIrp *ForwardIrp)
#define ASSERTMSG(msg, exp)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
IWudfDeviceStack * GetDeviceStack(VOID)
#define NT_SUCCESS(StatCode)
VOID RemoveDmaEnabler(__in FxDmaEnabler *Enabler)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
NTSTATUS ReadStateFromRegistry(_In_ PCUNICODE_STRING ValueName, _Out_ PULONG Value)
NTSTATUS UpdateWmiInstanceForSxWake(__in FxWmiInstanceAction Action)
GLsizei const GLfloat * value
#define _Must_inspect_result_
_Must_inspect_result_ _In_ WDFDEVICE Device
#define TRACE_LEVEL_ERROR
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
VOID ReadRegistryS0Idle(__in PCUNICODE_STRING ValueName, __out BOOLEAN *Enabled)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
NTSTATUS UpdateWmiInstanceForS0Idle(__in FxWmiInstanceAction Action)
static SERVICE_STATUS status
_Must_inspect_result_ NTSTATUS AllocateDmaEnablerList(VOID)
#define RegCloseKey(hKey)
VOID ReadRegistrySxWake(__in PCUNICODE_STRING ValueName, __out BOOLEAN *Enabled)
#define WUDF_POWER_POLICY_SETTINGS