[BEEP]: Convert to LONGLONG before doing the multiplication (or: use our macro Int32x...
[reactos.git] / reactos / drivers / base / beep / beep.c
index 45addc6..9ba8670 100644 (file)
@@ -38,6 +38,10 @@ BeepDPC(IN PKDPC Dpc,
 {
     PDEVICE_EXTENSION DeviceExtension = DeviceObject->DeviceExtension;
 
+    UNREFERENCED_PARAMETER(Dpc);
+    UNREFERENCED_PARAMETER(SystemArgument1);
+    UNREFERENCED_PARAMETER(SystemArgument2);
+
     /* Stop the beep */
     HalMakeBeep(0);
 
@@ -335,7 +339,7 @@ BeepStartIo(IN PDEVICE_OBJECT DeviceObject,
         {
             /* Beep successful, queue a DPC to stop it */
             Status = STATUS_SUCCESS;
-            DueTime.QuadPart = BeepParam->Duration * -10000;
+            DueTime.QuadPart = Int32x32To64(BeepParam->Duration, -10000);
             InterlockedIncrement(&DeviceExtension->TimerActive);
             KeSetTimer(&DeviceExtension->Timer, DueTime, &DeviceObject->Dpc);
         }
@@ -368,6 +372,8 @@ DriverEntry(IN PDRIVER_OBJECT DriverObject,
     UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\Device\\Beep");
     NTSTATUS Status;
 
+    UNREFERENCED_PARAMETER(RegistryPath);
+
     /* Create the device */
     Status = IoCreateDevice(DriverObject,
                             sizeof(DEVICE_EXTENSION),