NTSTATUS Status;
UNREFERENCED_PARAMETER(DeviceObject);
- DPRINT("Called. IRP is at (0x%X)\n", Irp);
+ DPRINT("Called. IRP is at (0x%p)\n", Irp);
Irp->IoStatus.Information = 0;
if (Status != STATUS_PENDING) {
Irp->IoStatus.Status = Status;
- DPRINT("Completing IRP at 0x%X\n", Irp);
+ DPRINT("Completing IRP at 0x%p\n", Irp);
IoCompleteRequest(Irp, IO_NO_INCREMENT);
}
DeviceExtension = (PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
- DPRINT("IsFDO %d\n", DeviceExtension->IsFDO);
+ DPRINT("IsFDO %u\n", DeviceExtension->IsFDO);
if (DeviceExtension->IsFDO) {
Status = FdoPnpControl(DeviceObject, Irp);
return STATUS_SUCCESS;
}
+DRIVER_UNLOAD PciUnload;
+
+VOID
+NTAPI
+PciUnload(
+ IN PDRIVER_OBJECT DriverObject)
+{
+ /* The driver object extension is destroyed by the I/O manager */
+ UNREFERENCED_PARAMETER(DriverObject);
+}
NTSTATUS
NTAPI
DriverObject->MajorFunction[IRP_MJ_PNP] = PciPnpControl;
DriverObject->MajorFunction[IRP_MJ_POWER] = PciPowerControl;
DriverObject->DriverExtension->AddDevice = PciAddDevice;
+ DriverObject->DriverUnload = PciUnload;
Status = IoAllocateDriverObjectExtension(
DriverObject,