[dummy] Add WvDummyRemove function
authorShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Mon, 3 Jan 2011 06:48:45 +0000 (01:48 -0500)
committerShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Mon, 3 Jan 2011 06:49:26 +0000 (01:49 -0500)
Although it might be a better idea to handle
IRP_MJ_PNP IRP_MN_REMOVE_DEVICE to delete a dummy PDO,
for now we support it with this minimal function.

src/include/dummy.h
src/winvblock/dummy.c

index 94a6a78..61a2417 100644 (file)
@@ -102,5 +102,6 @@ extern WVL_M_LIB NTSTATUS STDCALL WvDummyAdd(
     IN ULONG,
     OUT PDEVICE_OBJECT *
   );
+extern WVL_M_LIB NTSTATUS STDCALL WvDummyRemove(IN PDEVICE_OBJECT);
 
 #endif /* WV_M_DUMMY_H_ */
index 0053420..bd6e90f 100644 (file)
@@ -216,6 +216,18 @@ WVL_M_LIB NTSTATUS STDCALL WvDummyAdd(
     return context.Status;
   }
 
+/**
+ * Remove a dummy PDO node on the WinVBlock bus.
+ *
+ * @v Pdo               The PDO to remove.
+ * @ret NTSTATUS        The status of the operation.
+ *
+ * It might actually be better to handle a PnP remove IOCTL.
+ */
+WVL_M_LIB NTSTATUS STDCALL WvDummyRemove(IN PDEVICE_OBJECT Pdo) {
+    return WvlBusRemoveNode(&WvDevFromDevObj(Pdo)->BusNode);
+  }
+
 /**
  * Handle a PnP ID query with a WV_S_DUMMY_IDS object.
  *