28#include "../pnppriv.hpp"
34#if defined(EVENT_TRACING)
37#include "FxPkgFdoKm.tmh"
70 WDFIORESREQLIST reqlist;
73 "Entering FilterResourceRequirements handler");
98 if (pNewWdmList !=
NULL) {
102 if (pWdmRequirementsList !=
NULL) {
162 Irp->GetInformation();
187 if (pNewWdmList !=
NULL) {
191 if (pWdmRequirementsList !=
NULL) {
219 "Exiting FilterResourceRequirements handler, %!STATUS!",
348 "Lower stack returned error for query pnp device state, %!STATUS!",
411 #pragma prefast(suppress: __WARNING_PASSING_FUNCTION_UNEXPECTED_NULL, "Static child lists do not use the EvtChildListCreateDevice callback")
static _Must_inspect_result_ NTSTATUS _CreateAndInit(__out FxChildList **ChildList, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES ListAttributes, __in size_t TotalDescriptionSize, __in CfxDevice *Device, __in PWDF_CHILD_LIST_CONFIG ListConfig, __in BOOLEAN Static=FALSE)
static _Must_inspect_result_ NTSTATUS _ComputeTotalDescriptionSize(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_CHILD_LIST_CONFIG Config, __in size_t *TotalDescriptionSize)
WDFDEVICE __inline GetHandle(VOID)
_Must_inspect_result_ PIO_RESOURCE_REQUIREMENTS_LIST CreateWdmList(VOID)
static _Must_inspect_result_ FxIoResReqList * _CreateFromWdmList(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PIO_RESOURCE_REQUIREMENTS_LIST WdmRequirementsList, __in UCHAR AccessFlags)
WDFIORESREQLIST GetHandle(VOID)
virtual VOID DeleteObject(VOID)
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
VOID DeleteFromFailedCreate(VOID)
_Must_inspect_result_ NTSTATUS Commit(__in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __out_opt WDFOBJECT *ObjectHandle, __in_opt FxObject *Parent=NULL, __in BOOLEAN AssignDriverAsDefaultParent=TRUE)
REENUMERATE_SELF_INTERFACE_STANDARD m_SurpriseRemoveAndReenumerateSelfInterface
FxPnpDeviceFilterResourceRequirements m_DeviceFilterRemoveResourceRequirements
VOID HandleQueryPnpDeviceStateCompletion(__inout FxIrp *Irp)
virtual _Must_inspect_result_ NTSTATUS Initialize(__in PWDFDEVICE_INIT DeviceInit)
FxPnpDeviceFilterResourceRequirements m_DeviceFilterAddResourceRequirements
static _Must_inspect_result_ NTSTATUS _PnpQueryCapabilitiesCompletionRoutine(__in MdDeviceObject DeviceObject, __inout MdIrp Irp, __inout PVOID Context)
VOID HandleQueryCapabilitiesCompletion(__inout FxIrp *Irp)
static _Must_inspect_result_ NTSTATUS _PnpQueryPnpDeviceStateCompletionRoutine(__in MdDeviceObject DeviceObject, __inout MdIrp Irp, __inout PVOID Context)
_Must_inspect_result_ NTSTATUS PnpFilterResourceRequirements(__inout FxIrp *Irp)
FxChildList * m_StaticDeviceList
_Must_inspect_result_ NTSTATUS PnpQueryCapabilities(__inout FxIrp *Irp)
static _Must_inspect_result_ NTSTATUS _PnpQueryPnpDeviceState(__inout FxPkgPnp *This, __inout FxIrp *Irp)
virtual _Must_inspect_result_ NTSTATUS AskParentToRemoveAndReenumerate(VOID)
VOID HandleQueryCapabilities(__inout FxIrp *Irp)
_Must_inspect_result_ NTSTATUS QueryForDsfInterface(VOID)
virtual _Must_inspect_result_ NTSTATUS SendIrpSynchronously(__inout FxIrp *Irp)
_Must_inspect_result_ NTSTATUS AllocateEnumInfo(VOID)
virtual _Must_inspect_result_ NTSTATUS Initialize(__in PWDFDEVICE_INIT DeviceInit)
NTSTATUS FilterResourceRequirements(__in IO_RESOURCE_REQUIREMENTS_LIST **IoList)
NTSTATUS CompletePnpRequest(__inout FxIrp *Irp, __in NTSTATUS Status)
_Must_inspect_result_ NTSTATUS Invoke(__in WDFDEVICE Device, __in WDFIORESREQLIST Collection)
PFN_WDF_DEVICE_FILTER_RESOURCE_REQUIREMENTS m_Method
static __inline VOID MxFreePool(__in PVOID Ptr)
#define STATUS_NOT_SUPPORTED
#define STATUS_NOT_IMPLEMENTED
#define NT_SUCCESS(StatCode)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
size_t totalDescriptionSize
PFX_DRIVER_GLOBALS pGlobals
@ FxResourceAllAccessAllowed
FxIoResReqList * pIoResReqList
#define _Must_inspect_result_
#define ASSERTMSG(msg, exp)
#define UNREFERENCED_PARAMETER(P)
#define TRACE_LEVEL_VERBOSE
#define TRACE_LEVEL_ERROR
#define STATUS_INSUFFICIENT_RESOURCES
FORCEINLINE VOID WDF_CHILD_LIST_CONFIG_INIT(_Out_ PWDF_CHILD_LIST_CONFIG Config, _In_ ULONG IdentificationDescriptionSize, _In_ PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice)
_In_ PWDFDEVICE_INIT DeviceInit
_In_ PDEVICE_OBJECT DeviceObject
#define WDF_NO_OBJECT_ATTRIBUTES
struct _IO_RESOURCE_REQUIREMENTS_LIST * PIO_RESOURCE_REQUIREMENTS_LIST