}
//=============================================================================
+static PDRIVER_DISPATCH StorPortDispatchPnp;
+static PDRIVER_DISPATCH StorPortDispatchPower;
+static PDRIVER_UNLOAD StorPortDriverUnload;
+
+NTSTATUS
+DriverDispatchPnp(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PIRP Irp
+ )
+{
+ return StorPortDispatchPnp(DeviceObject, Irp);
+}
+
+NTSTATUS
+DriverDispatchPower(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PIRP Irp
+ )
+{
+ return StorPortDispatchPower(DeviceObject, Irp);
+}
-PDRIVER_DISPATCH StorPortDispatchPnp;
-PDRIVER_DISPATCH StorPortDispatchPower;
-PDRIVER_UNLOAD StorPortDriverUnload;
//=============================================================================
// Fdo Device Extension management
static PXENVBD_FDO __XenvbdFdo;
}
}
KeReleaseSpinLock(&__XenvbdLock, Irql);
- Status = StorPortDispatchPnp(DeviceObject, Irp);
+ Status = DriverDispatchPnp(DeviceObject, Irp);
done:
return Status;
case IS_NULL:
default:
Warning("DeviceObject 0x%p is not FDO (0x%p) or a PDO\n", DeviceObject, __XenvbdFdo);
- Status = StorPortDispatchPnp(DeviceObject, Irp);
+ Status = DriverDispatchPnp(DeviceObject, Irp);
break;
}
if (Pdo) {
PdoDereference(Pdo); // drops Pdo reference
}
- Status = StorPortDispatchPower(DeviceObject, Irp);
+ Status = DriverDispatchPower(DeviceObject, Irp);
break;
case IS_NULL:
default:
Warning("DeviceObject 0x%p is not FDO (0x%p) or a PDO\n", DeviceObject, __XenvbdFdo);
- Status = StorPortDispatchPower(DeviceObject, Irp);
+ Status = DriverDispatchPower(DeviceObject, Irp);
break;
}
extern HANDLE DriverStatusKey;
+extern NTSTATUS
+DriverDispatchPnp(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PIRP Irp
+ );
+
+extern NTSTATUS
+DriverDispatchPower(
+ IN PDEVICE_OBJECT DeviceObject,
+ IN PIRP Irp
+ );
+
// Fdo Device Extension management
extern VOID
DriverLinkFdo(
LONG TotalSrbs;
};
-extern PDRIVER_DISPATCH StorPortDispatchPower;
-
//=============================================================================
static FORCEINLINE BOOLEAN
__FdoSetDevicePowerState(
break;
}
FdoDereference(Fdo);
- Status = StorPortDispatchPower(Fdo->DeviceObject, Irp);
+ Status = DriverDispatchPower(Fdo->DeviceObject, Irp);
if (!NT_SUCCESS(Status)) {
Warning("StorPort failed PowerIRP with %08x\n", Status);
}
//=============================================================================
// PnP Handler
-extern PDRIVER_DISPATCH StorPortDispatchPnp;
-
__checkReturn
NTSTATUS
FdoDispatchPnp(
break;
}
- Status = StorPortDispatchPnp(DeviceObject, Irp);
+ Status = DriverDispatchPnp(DeviceObject, Irp);
if (!NT_SUCCESS(Status)) {
Verbose("%02x:%s -> %08x\n", Minor, PnpMinorFunctionName(Minor), Status);
}
ExFreePool(String);
done:
- Status = StorPortDispatchPnp(DeviceObject, Irp);;
+ Status = DriverDispatchPnp(DeviceObject, Irp);;
if (!NT_SUCCESS(Status)) {
Verbose("%02x:%s -> %08x\n", Minor, PnpMinorFunctionName(Minor), Status);
}
if (Fdo->DevicePowerThread == NULL) {
Verbose("DevicePower IRP before DevicePowerThread ready\n");
FdoDereference(Fdo);
- status = StorPortDispatchPower(DeviceObject, Irp);
+ status = DriverDispatchPower(DeviceObject, Irp);
break;
}
case SystemPowerState:
default:
FdoDereference(Fdo);
- status = StorPortDispatchPower(DeviceObject, Irp);
+ status = DriverDispatchPower(DeviceObject, Irp);
break;
}
//=============================================================================
// PnP Handler
-extern PDRIVER_DISPATCH StorPortDispatchPnp;
-
static FORCEINLINE VOID
__PdoDeviceUsageNotification(
__in PXENVBD_PDO Pdo,
break;
}
PdoDereference(Pdo);
- Status = StorPortDispatchPnp(DeviceObject, Irp);
+ Status = DriverDispatchPnp(DeviceObject, Irp);
if (!NT_SUCCESS(Status)) {
Verbose("Target[%d] : %02x:%s -> %08x\n", TargetId, Minor, PnpMinorFunctionName(Minor), Status);
}