488 #endif // _FXPKGFDO_H virtual WDF_DEVICE_PNP_STATE PnpEventFdoRemovedOverload(VOID)
enum _WDF_DEVICE_PNP_STATE WDF_DEVICE_PNP_STATE
static const PFN_PNP_POWER_CALLBACK m_FdoPnpFunctionTable[IRP_MN_SURPRISE_REMOVAL+1]
VOID HandleQueryCapabilitiesCompletion(__inout FxIrp *Irp)
virtual _Must_inspect_result_ NTSTATUS AskParentToRemoveAndReenumerate(VOID)
_Must_inspect_result_ NTSTATUS QueryForDsfInterface(VOID)
_Must_inspect_result_ NTSTATUS DispatchSystemQueryPower(__in FxIrp *Irp)
static MdCompletionRoutineType _SystemPowerS0Completion
virtual _Must_inspect_result_ NTSTATUS PowerCheckParentOverload(__out BOOLEAN *ParentOn)
virtual const PFN_PNP_POWER_CALLBACK * GetDispatchPower(VOID)
static _Must_inspect_result_ NTSTATUS _PnpQueryCapabilitiesCompletionRoutine(__in MdDeviceObject DeviceObject, __inout MdIrp Irp, __inout PVOID Context)
WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER Header
virtual VOID PowerReleasePendingDeviceIrp(__in BOOLEAN IrpMustBePresent=TRUE)
WUDF_IO_COMPLETION_ROUTINE MdCompletionRoutineType
#define IRP_MN_QUERY_POWER
virtual _Must_inspect_result_ NTSTATUS ProcessRemoveDeviceOverload(__inout FxIrp *Irp)
static MdCompletionRoutineType RaiseDevicePowerCompletion
static _Must_inspect_result_ NTSTATUS _PnpSurpriseRemoval(__inout FxPkgPnp *This, __inout FxIrp *Irp)
virtual WDF_DEVICE_PNP_STATE PnpEventPdoRemovedOverload(VOID)
static _Must_inspect_result_ NTSTATUS _PnpFilterResourceRequirements(__inout FxPkgPnp *This, __inout FxIrp *Irp)
static _Must_inspect_result_ NTSTATUS _PnpQueryDeviceRelations(__inout FxPkgPnp *This, __inout FxIrp *Irp)
REENUMERATE_SELF_INTERFACE_STANDARD m_SurpriseRemoveAndReenumerateSelfInterface
_Must_inspect_result_ NTSTATUS DispatchDeviceQueryPower(__in FxIrp *Irp)
FxChildList * m_DefaultDeviceList
static _Must_inspect_result_ NTSTATUS STDCALL _PnpFilteredStartDeviceCompletionRoutine(__in MdDeviceObject DeviceObject, __inout MdIrp Irp, __inout PVOID Context)
_Must_inspect_result_ NTSTATUS PostCreateDeviceInitialize(VOID)
static _Must_inspect_result_ NTSTATUS _DispatchSetPower(__inout FxPkgPnp *This, __in FxIrp *Irp)
static _Must_inspect_result_ NTSTATUS _PnpQueryCapabilities(__inout FxPkgPnp *This, __inout FxIrp *Irp)
static _Must_inspect_result_ NTSTATUS _PowerPassDown(__inout FxPkgPnp *This, __in FxIrp *Irp)
VOID HandleQueryPnpDeviceStateCompletion(__inout FxIrp *Irp)
_Must_inspect_result_ NTSTATUS DispatchDeviceSetPower(__in FxIrp *Irp)
virtual const PFN_PNP_POWER_CALLBACK * GetDispatchPnp(VOID)
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ NTSTATUS PnpFilterResourceRequirements(__inout FxIrp *Irp)
FxPnpDeviceRemoveAddedResources m_DeviceRemoveAddedResources
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS pGlobals, __in CfxDevice *Device, __deref_out FxPkgFdo **PkgFdo)
static _Must_inspect_result_ NTSTATUS STDCALL _PnpStartDeviceCompletionRoutine(__in MdDeviceObject DeviceObject, __inout MdIrp Irp, __inout PVOID Context)
virtual WDF_DEVICE_POWER_STATE PowerCheckDeviceTypeOverload(VOID)
FxPnpDeviceFilterResourceRequirements m_DeviceFilterRemoveResourceRequirements
_Must_inspect_result_ NTSTATUS DispatchSystemSetPower(__in FxIrp *Irp)
virtual WDF_DEVICE_PNP_STATE PnpGetPostRemoveState(VOID)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
static _Must_inspect_result_ NTSTATUS _PnpQueryInterface(__inout FxPkgPnp *This, __inout FxIrp *Irp)
_Must_inspect_result_ NTSTATUS PnpQueryCapabilities(__inout FxIrp *Irp)
virtual WDF_DEVICE_PNP_STATE PnpEventCheckForDevicePresenceOverload(VOID)
#define IRP_MN_SURPRISE_REMOVAL
FxPnpDeviceFilterResourceRequirements m_DeviceFilterAddResourceRequirements
virtual VOID PowerParentPowerDereference(VOID)
_Must_inspect_result_ NTSTATUS PnpQueryDeviceRelations(__inout FxIrp *Irp)
FxIoTargetSelf * m_SelfTarget
virtual VOID DeleteSymbolicLinkOverload(__in BOOLEAN GracefulRemove)
virtual VOID QueryForReenumerationInterface(VOID)
VOID HandleQueryCapabilities(__inout FxIrp *Irp)
_Must_inspect_result_ NTSTATUS SetFilter(__in BOOLEAN Value)
FxPkgFdo(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in CfxDevice *Device)
#define _Must_inspect_result_
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ NTSTATUS LowerDevicePower(__in FxIrp *Irp)
PFX_DRIVER_GLOBALS pGlobals
virtual _Must_inspect_result_ NTSTATUS Initialize(__in PWDFDEVICE_INIT DeviceInit)
static _Must_inspect_result_ NTSTATUS _PnpQueryPnpDeviceState(__inout FxPkgPnp *This, __inout FxIrp *Irp)
_Must_inspect_result_ NTSTATUS(* PFN_PNP_POWER_CALLBACK)(__inout FxPkgPnp *This, __inout FxIrp *Irp)
virtual _Must_inspect_result_ NTSTATUS QueryForPowerThread(VOID)
_Must_inspect_result_ NTSTATUS CreateDefaultDeviceList(__in PWDF_CHILD_LIST_CONFIG ListConfig, __in PWDF_OBJECT_ATTRIBUTES ListAttributes)
static const PFN_PNP_POWER_CALLBACK m_FdoPowerFunctionTable[IRP_MN_QUERY_POWER+1]
static _Must_inspect_result_ NTSTATUS _PnpPassDown(__in FxPkgPnp *This, __inout FxIrp *Irp)
virtual WDF_DEVICE_PNP_STATE PnpEventEjectHardwareOverload(VOID)
static _Must_inspect_result_ NTSTATUS _PnpQueryPnpDeviceStateCompletionRoutine(__in MdDeviceObject DeviceObject, __inout MdIrp Irp, __inout PVOID Context)
FxChildList * m_StaticDeviceList
static MdCompletionRoutineType _SystemPowerSxCompletion
virtual BOOLEAN PnpSendStartDeviceDownTheStackOverload(VOID)
virtual _Must_inspect_result_ NTSTATUS FireAndForgetIrp(__inout FxIrp *Irp)
_Must_inspect_result_ NTSTATUS RaiseDevicePower(__in FxIrp *Irp)
_In_ PWDFDEVICE_INIT DeviceInit
static _Must_inspect_result_ NTSTATUS _DispatchQueryPower(__inout FxPkgPnp *This, __in FxIrp *Irp)
enum _WDF_DEVICE_POWER_STATE WDF_DEVICE_POWER_STATE
virtual _Must_inspect_result_ NTSTATUS SendIrpSynchronously(__inout FxIrp *Irp)
virtual WDF_DEVICE_POWER_STATE PowerCheckDeviceTypeNPOverload(VOID)
_In_ PWDFDEVICE_INIT _In_ PWDF_PDO_EVENT_CALLBACKS DispatchTable
FxIoTarget * m_DefaultTarget
_Must_inspect_result_ NTSTATUS RegisterCallbacks(__in PWDF_FDO_EVENT_CALLBACKS DispatchTable)
virtual VOID ReleaseReenumerationInterface(VOID)