]> xenbits.xensource.com Git - people/pauldu/xeniface.git/commitdiff
Refactor WmiFireSuspendEvent
authorOwen Smith <owen.smith@citrix.com>
Thu, 29 Oct 2015 14:49:43 +0000 (14:49 +0000)
committerPaul Durrant <paul.durrant@citrix.com>
Mon, 2 Nov 2015 14:22:59 +0000 (14:22 +0000)
Signed-off-by: Owen Smith <owen.smith@citrix.com>
src/xeniface/fdo.c
src/xeniface/wmi.c
src/xeniface/wmi.h

index f991e3f70a6d2a2e9d0ba7c556d0e5014e12f1cb..7acb4a06cf8916649e9fb9cea75d71552a789ff0 100644 (file)
@@ -783,7 +783,7 @@ FdoD3ToD0(
     status = XENBUS_SUSPEND(Register,
                             &Fdo->SuspendInterface,
                             SUSPEND_CALLBACK_LATE,
-                            FireSuspendEvent,
+                            WmiFireSuspendEvent,
                             Fdo,
                             &Fdo->SuspendCallbackLate);
     if (!NT_SUCCESS(status))
index 0b14e9b2772fe86aae334227cb3bdf4c3576037f..0ae87d45ae86fdfc69c70486db972e91caf9ac4e 100644 (file)
@@ -753,18 +753,25 @@ SessionFindWatchLocked(XenStoreSession *session,
 
 }
 
-void FireSuspendEvent(PXENIFACE_FDO fdoData) {
-    XenIfaceDebugPrint(ERROR,"Ready to unsuspend Event\n");
-    KeSetEvent(&fdoData->registryWriteEvent, IO_NO_INCREMENT, FALSE);
-    if (fdoData->WmiReady) {
-        XenIfaceDebugPrint(TRACE,"Fire Suspend Event\n");
-        WmiFireEvent(fdoData->Dx->DeviceObject,
-                     (LPGUID)&OBJECT_GUID(XenStoreUnsuspendedEvent),
-                     0,
-                     0,
-                     NULL);
-    }
+VOID
+WmiFireSuspendEvent(
+    IN  PXENIFACE_FDO   Fdo
+    )
+{
+    XenIfaceDebugPrint(ERROR, "Ready to unsuspend Event\n");
+    KeSetEvent(&Fdo->registryWriteEvent, IO_NO_INCREMENT, FALSE);
+
+    if (!Fdo->WmiReady)
+        return;
+
+    XenIfaceDebugPrint(TRACE, "Fire Suspend Event\n");
+    WmiFireEvent(Fdo->Dx->DeviceObject,
+                 (LPGUID)&OBJECT_GUID(XenStoreUnsuspendedEvent),
+                 0,
+                 0,
+                 NULL);
 }
+
 void FireWatch(XenStoreWatch* watch) {
     UCHAR * eventdata;
     ULONG RequiredSize;
index f677ee3a96c4e7b791b3dd467f7268c5de21a473..b9dd2562cae164b7a3fb9abb3cbd1d665df91dac 100644 (file)
@@ -43,6 +43,11 @@ WmiProcessMinorFunction(
     IN  PIRP            Irp
     );
 
+extern VOID
+WmiFireSuspendEvent(
+    IN  PXENIFACE_FDO   Fdo
+    );
+
 NTSTATUS
 WmiInit(
     PXENIFACE_FDO FdoData
@@ -54,10 +59,6 @@ WmiFinalise(
     PXENIFACE_FDO FdoData
 ); 
 
-void FireSuspendEvent(
-    IN OUT PXENIFACE_FDO fdoData
-    );
-
 void SessionsResumeAll(
     XENIFACE_FDO *fdoData
 );