156{
162
164
168
170
172 {
174 DPRINT1(
"Unimplemented IRP_MN_DEVICE_USAGE_NOTIFICATION received\n");
175 break;
176
178 DPRINT1(
"Unimplemented IRP_MN_EJECT received\n");
179 break;
180
182 DPRINT(
"IRP_MN_QUERY_BUS_INFORMATION received\n");
183 break;
184
186 DPRINT(
"IRP_MN_QUERY_CAPABILITIES received\n");
188 break;
189
191 DPRINT(
"IRP_MN_QUERY_DEVICE_RELATIONS received\n");
194 break;
195
197 DPRINT(
"IRP_MN_QUERY_DEVICE_TEXT received\n");
198 break;
199
201 DPRINT(
"IRP_MN_QUERY_ID received\n");
203 break;
204
206 DPRINT1(
"Unimplemented IRP_MN_QUERY_ID received\n");
207 break;
208
210 DPRINT(
"IRP_MN_QUERY_RESOURCE_REQUIREMENTS received\n");
211 break;
212
214 DPRINT(
"IRP_MN_QUERY_RESOURCES received\n");
215 break;
216
218 DPRINT1(
"Unimplemented IRP_MN_SET_LOCK received\n");
219 break;
220
222 DPRINT(
"IRP_MN_START_DEVICE received\n");
224 break;
225
232 break;
233
237 break;
238
240 DPRINT(
"IRP_MN_REMOVE_DEVICE received\n");
244 break;
245
247 DPRINT(
"IRP_MN_FILTER_RESOURCE_REQUIREMENTS received\n");
248
250 break;
251
252 default:
254 break;
255 }
256
260
262
263 if (DeleteDevice)
265
267}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
_In_ PIO_STACK_LOCATION IrpSp
#define IRP_MN_SURPRISE_REMOVAL
#define IoCompleteRequest
static NTSTATUS FdcPdoQueryCapabilities(IN PDEVICE_OBJECT DeviceObject, PIO_STACK_LOCATION IrpSp)
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)
struct _IO_STACK_LOCATION::@5020::@5045 QueryDeviceRelations
union _IO_STACK_LOCATION::@1814 Parameters
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
#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