30 #if ((FX_CORE_MODE)==(FX_CORE_USER_MODE)) 31 #define FX_IS_USER_MODE (TRUE) 32 #define FX_IS_KERNEL_MODE (FALSE) 33 #elif ((FX_CORE_MODE)==(FX_CORE_KERNEL_MODE)) 34 #define FX_IS_USER_MODE (FALSE) 35 #define FX_IS_KERNEL_MODE (TRUE) 72 #ifndef _INTERRUPT_COMMON_H_ 75 #ifndef _WUDFDDI_TYPES_PRIVATE_H_ 112 #if FX_IS_KERNEL_MODE 114 #elif FX_IS_USER_MODE 120 #if FX_IS_KERNEL_MODE 122 #elif FX_IS_USER_MODE 126 #if FX_IS_KERNEL_MODE 189 #define SET_TRI_STATE_FROM_STATE_BITS(state, S, FieldName) \ 191 switch (state & (FxPnpState##FieldName##Mask)) { \ 192 case FxPnpState##FieldName##False : \ 193 S->FieldName = WdfFalse; \ 195 case FxPnpState##FieldName##True: \ 196 S->FieldName = WdfTrue; \ 198 case FxPnpState##FieldName##UseDefault : \ 200 S->FieldName = WdfUseDefault; \ 215 case WdfTrue:
return TrueValue;
217 default:
return UseDefaultValue;
221 #define GET_PNP_STATE_BITS_FROM_STRUCT(S, FieldName)\ 222 FxGetValueBits(S->FieldName, \ 223 FxPnpState##FieldName##True, \ 224 FxPnpState##FieldName##UseDefault) 226 #define GET_PNP_CAP_BITS_FROM_STRUCT(S, FieldName) \ 227 FxGetValueBits(S->FieldName, \ 228 FxPnpCap##FieldName##True, \ 229 FxPnpCap##FieldName##UseDefault) 231 #define GET_POWER_CAP_BITS_FROM_STRUCT(S, FieldName)\ 232 FxGetValueBits(S->FieldName, \ 233 FxPowerCap##FieldName##True, \ 234 FxPowerCap##FieldName##UseDefault) 248 bits = InternalState & BitMask;
250 if (
bits == TrueValue) {
251 *PnpDeviceState |= ExternalState;
253 else if (
bits == 0) {
254 *PnpDeviceState &= ~ExternalState;
258 #define SET_PNP_DEVICE_STATE_BIT(State, ExternalState, value, Name) \ 259 FxSetPnpDeviceStateBit(State, \ 262 FxPnpState##Name##Mask, \ 263 FxPnpState##Name##True) 265 #define SET_PNP_CAP_IF_TRUE(caps, pCaps, FieldName) \ 267 if ((caps & FxPnpCap##FieldName##Mask) == FxPnpCap##FieldName##True) { \ 268 pCaps->FieldName = TRUE; \ 272 #define SET_PNP_CAP_IF_FALSE(caps, pCaps, FieldName) \ 274 if ((caps & FxPnpCap##FieldName##Mask) == FxPnpCap##FieldName##False) { \ 275 pCaps->FieldName = FALSE; \ 279 #define SET_PNP_CAP(caps, pCaps, FieldName) \ 281 if ((caps & FxPnpCap##FieldName##Mask) == FxPnpCap##FieldName##False) { \ 282 pCaps->FieldName = FALSE; \ 284 else if ((caps & FxPnpCap##FieldName##Mask) == FxPnpCap##FieldName##True) { \ 285 pCaps->FieldName = TRUE; \ 289 #define SET_POWER_CAP(caps, pCaps, FieldName) \ 291 if ((caps & FxPowerCap##FieldName##Mask) == FxPowerCap##FieldName##False) { \ 292 pCaps->FieldName = FALSE; \ 294 else if ((caps & FxPowerCap##FieldName##Mask) == FxPowerCap##FieldName##True) { \ 295 pCaps->FieldName = TRUE; \ 482 #endif // _PNPPRIV_H_ struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_7 * PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_7
EVT_WDF_DEVICE_ENABLE_WAKE_AT_BUS * PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS
DEVICE_POWER_STATE DxState
VOID CopyQueryInterfaceToIrpStack(__in PPOWER_THREAD_INTERFACE PowerThreadInterface, __in FxIrp *Irp)
EVT_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY * PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY
EVT_WDF_DEVICE_RESOURCES_QUERY * PFN_WDF_DEVICE_RESOURCES_QUERY
WDF_POWER_POLICY_S0_IDLE_USER_CONTROL UserControlOfIdleSettings
WDF_POWER_POLICY_S0_IDLE_USER_CONTROL UserControlOfIdleSettings
DEVICE_POWER_STATE DxState
struct _WDF_PDO_EVENT_CALLBACKS_V1_9 WDF_PDO_EVENT_CALLBACKS_V1_9
enum _WDF_TRI_STATE WDF_TRI_STATE
EVT_WDF_DEVICE_DISABLE_WAKE_AT_BUS * PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS
WDF_EXTERN_C_START enum _WDF_INTERRUPT_POLARITY WDF_INTERRUPT_POLARITY
PFN_WDF_DEVICE_RESOURCE_REQUIREMENTS_QUERY EvtDeviceResourceRequirementsQuery
__inline VOID FxSetPnpDeviceStateBit(__in PNP_DEVICE_STATE *PnpDeviceState, __in LONG ExternalState, __in LONG InternalState, __in LONG BitMask, __in LONG TrueValue)
WDF_POWER_POLICY_S0_IDLE_CAPABILITIES IdleCaps
VOID PnpPassThroughQIWorker(__in MxDeviceObject *Device, __inout FxIrp *Irp, __inout FxIrp *ForwardIrp)
LONG __inline FxGetValueBits(__in WDF_TRI_STATE State, __in LONG TrueValue, __in LONG UseDefaultValue)
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
PFN_WDF_DEVICE_DISABLE_WAKE_AT_BUS EvtDeviceDisableWakeAtBus
PFN_WDF_DEVICE_ENABLE_WAKE_AT_BUS EvtDeviceEnableWakeAtBus
enum _WDF_POWER_POLICY_S0_IDLE_USER_CONTROL WDF_POWER_POLICY_S0_IDLE_USER_CONTROL
WDF_POWER_POLICY_S0_IDLE_CAPABILITIES IdleCaps
_Must_inspect_result_ NTSTATUS SendDeviceUsageNotification(__in MxDeviceObject *RelatedDevice, __in FxIrp *RelatedIrp, __in MxWorkItem *Workitem, __in FxIrp *OriginalIrp, __in BOOLEAN Revert)
_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_9 * PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_9
enum _KINTERRUPT_MODE KINTERRUPT_MODE
enum _WDF_POWER_POLICY_S0_IDLE_CAPABILITIES WDF_POWER_POLICY_S0_IDLE_CAPABILITIES
VOID SetD3ColdSupport(__in PFX_DRIVER_GLOBALS DriverGlobals, __in MxDeviceObject *DeviceInStack, __in PD3COLD_SUPPORT_INTERFACE D3ColdInterface, __in BOOLEAN UseD3Cold)
EVT_WDF_DEVICE_EJECT * PFN_WDF_DEVICE_EJECT
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
struct _WDF_INTERRUPT_INFO_V1_7 * PWDF_INTERRUPT_INFO_V1_7
struct _WDF_PDO_EVENT_CALLBACKS_V1_9 * PWDF_PDO_EVENT_CALLBACKS_V1_9
_In_ PTRANSFER_PACKET _In_ ULONG _In_ PIRP OriginalIrp
#define _Must_inspect_result_
_Must_inspect_result_ _In_ WDFDEVICE Device
PFN_WDF_DEVICE_SET_LOCK EvtDeviceSetLock
_Must_inspect_result_ PVOID GetIoMgrObjectForWorkItemAllocation(VOID)
KAFFINITY TargetProcessorSet
PFN_WDF_DEVICE_RESOURCES_QUERY EvtDeviceResourcesQuery
PFN_WDF_DEVICE_EJECT EvtDeviceEject
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_9 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_9
EVT_WDF_DEVICE_SET_LOCK * PFN_WDF_DEVICE_SET_LOCK
WDF_TRI_STATE PowerUpIdleDeviceOnSystemWake
_Must_inspect_result_ NTSTATUS GetStackCapabilities(__in PFX_DRIVER_GLOBALS DriverGlobals, __in MxDeviceObject *DeviceInStack, __in_opt PD3COLD_SUPPORT_INTERFACE D3ColdInterface, __out PSTACK_DEVICE_CAPABILITIES Capabilities)
struct _WDF_INTERRUPT_INFO_V1_7 WDF_INTERRUPT_INFO_V1_7
struct _WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_7 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_V1_7
const struct _WDF_INTERRUPT_INFO_V1_7 * PCWDF_INTERRUPT_INFO_V1_7
WDF_INTERRUPT_POLARITY Polarity