60 DPRINT(
"IRP_MJ_PNP / IRP_MN_QUERY_ID / BusQueryDeviceID\n");
65 DPRINT(
"IRP_MJ_PNP / IRP_MN_QUERY_ID / BusQueryHardwareIDs\n");
70 DPRINT(
"IRP_MJ_PNP / IRP_MN_QUERY_ID / BusQueryCompatibleIDs\n");
75 DPRINT(
"IRP_MJ_PNP / IRP_MN_QUERY_ID / BusQueryInstanceID\n");
80 DPRINT1(
"IRP_MJ_PNP / IRP_MN_QUERY_ID / unknown query id type 0x%lx\n",
107 if (Relations ==
NULL)
110 Relations->
Count = 1;
174 DPRINT1(
"Unimplemented IRP_MN_DEVICE_USAGE_NOTIFICATION received\n");
178 DPRINT1(
"Unimplemented IRP_MN_EJECT received\n");
182 DPRINT(
"IRP_MN_QUERY_BUS_INFORMATION received\n");
186 DPRINT(
"IRP_MN_QUERY_CAPABILITIES received\n");
191 DPRINT(
"IRP_MN_QUERY_DEVICE_RELATIONS received\n");
197 DPRINT(
"IRP_MN_QUERY_DEVICE_TEXT received\n");
201 DPRINT(
"IRP_MN_QUERY_ID received\n");
206 DPRINT1(
"Unimplemented IRP_MN_QUERY_ID received\n");
210 DPRINT(
"IRP_MN_QUERY_RESOURCE_REQUIREMENTS received\n");
214 DPRINT(
"IRP_MN_QUERY_RESOURCES received\n");
218 DPRINT1(
"Unimplemented IRP_MN_SET_LOCK received\n");
222 DPRINT(
"IRP_MN_START_DEVICE received\n");
240 DPRINT(
"IRP_MN_REMOVE_DEVICE received\n");
247 DPRINT(
"IRP_MN_FILTER_RESOURCE_REQUIREMENTS received\n");
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
#define STATUS_NOT_SUPPORTED
struct _PDO_DEVICE_EXTENSION * PPDO_DEVICE_EXTENSION
_In_ PIO_STACK_LOCATION IrpSp
#define ExAllocatePoolWithTag(hernya, size, tag)
#define RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE
NTSTATUS DuplicateUnicodeString(IN ULONG Flags, IN PCUNICODE_STRING SourceString, OUT PUNICODE_STRING DestinationString)
_In_ PIOMMU_DEVICE_PATH _In_ PIOMMU_SVM_CAPABILITIES DeviceCapabilities
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
#define IRP_MN_SURPRISE_REMOVAL
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
#define IoCompleteRequest
static NTSTATUS FdcPdoQueryCapabilities(IN PDEVICE_OBJECT DeviceObject, PIO_STACK_LOCATION IrpSp)
NTSTATUS NTAPI FdcPdoPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
static NTSTATUS FdcPdoQueryTargetDeviceRelation(IN PDEVICE_OBJECT DeviceObject, OUT ULONG_PTR *Information)
VOID FdcPdoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
static NTSTATUS FdcPdoQueryId(IN PDEVICE_OBJECT DeviceObject, IN PIO_STACK_LOCATION IrpSp, OUT ULONG_PTR *Information)
PDEVICE_OBJECT Objects[1]
PDEVICE_OBJECT DeviceObject
struct _IO_STACK_LOCATION::@5020::@5051 QueryId
struct _IO_STACK_LOCATION::@5020::@5045 QueryDeviceRelations
struct _IO_STACK_LOCATION::@5020::@5047 DeviceCapabilities
union _IO_STACK_LOCATION::@1814 Parameters
UNICODE_STRING InstanceId
UNICODE_STRING DeviceDescription
UNICODE_STRING HardwareIds
UNICODE_STRING CompatibleIds
#define STATUS_UNSUCCESSFUL
#define STATUS_INSUFFICIENT_RESOURCES
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
#define DeviceCapabilities
#define IRP_MN_CANCEL_STOP_DEVICE
#define IRP_MN_QUERY_PNP_DEVICE_STATE
#define IRP_MN_START_DEVICE
#define IRP_MN_DEVICE_USAGE_NOTIFICATION
#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS
#define IRP_MN_REMOVE_DEVICE
#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS
#define IRP_MN_QUERY_DEVICE_RELATIONS
#define IRP_MN_QUERY_STOP_DEVICE
#define IRP_MN_QUERY_DEVICE_TEXT
#define IRP_MN_QUERY_CAPABILITIES
#define IRP_MN_QUERY_RESOURCES
#define IRP_MN_CANCEL_REMOVE_DEVICE
#define IRP_MN_STOP_DEVICE
#define IRP_MN_QUERY_BUS_INFORMATION
#define IRP_MN_QUERY_REMOVE_DEVICE
#define ObReferenceObject