[STORPORT] Implement StorPortSetBusDataByOffset.
authorEric Kohl <eric.kohl@reactos.org>
Mon, 16 Oct 2017 18:05:27 +0000 (20:05 +0200)
committerEric Kohl <eric.kohl@reactos.org>
Mon, 16 Oct 2017 18:06:15 +0000 (20:06 +0200)
CORE-13866

drivers/storage/port/storport/storport.c

index 170c4eb..706b0b5 100644 (file)
@@ -1005,7 +1005,7 @@ StorPortResumeDevice(
 
 
 /*
- * @unimplemented
+ * @implemented
  */
 STORPORT_API
 ULONG
@@ -1019,9 +1019,29 @@ StorPortSetBusDataByOffset(
     _In_ ULONG Offset,
     _In_ ULONG Length)
 {
-    DPRINT1("StorPortSetBusDataByOffset()\n");
-    UNIMPLEMENTED;
-    return 0;
+    PMINIPORT_DEVICE_EXTENSION MiniportExtension;
+    PBUS_INTERFACE_STANDARD Interface;
+    ULONG ReturnLength;
+
+    DPRINT1("StorPortSetBusData(%p %lu %lu %lu %p %lu %lu)\n",
+            DeviceExtension, BusDataType, SystemIoBusNumber, SlotNumber, Buffer, Offset, Length);
+
+    MiniportExtension = CONTAINING_RECORD(DeviceExtension,
+                                          MINIPORT_DEVICE_EXTENSION,
+                                          HwDeviceExtension);
+    DPRINT1("DeviceExtension %p  MiniportExtension %p\n",
+            DeviceExtension, MiniportExtension);
+
+    Interface = &MiniportExtension->Miniport->DeviceExtension->BusInterface;
+
+    ReturnLength = Interface->SetBusData(Interface->Context,
+                                         BusDataType,
+                                         Buffer,
+                                         Offset,
+                                         Length);
+    DPRINT1("ReturnLength: %lu\n", ReturnLength);
+
+    return ReturnLength;
 }