From: Owen Smith Date: Thu, 29 Oct 2015 14:49:43 +0000 (+0000) Subject: Refactor WmiFireSuspendEvent X-Git-Tag: 8.2.0-rc1~44 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=a444be9d8d22845ab482688117a4d3b5c44ef3ad;p=pvdrivers%2Fwin%2Fxeniface.git Refactor WmiFireSuspendEvent Signed-off-by: Owen Smith --- diff --git a/src/xeniface/fdo.c b/src/xeniface/fdo.c index f991e3f..7acb4a0 100644 --- a/src/xeniface/fdo.c +++ b/src/xeniface/fdo.c @@ -783,7 +783,7 @@ FdoD3ToD0( status = XENBUS_SUSPEND(Register, &Fdo->SuspendInterface, SUSPEND_CALLBACK_LATE, - FireSuspendEvent, + WmiFireSuspendEvent, Fdo, &Fdo->SuspendCallbackLate); if (!NT_SUCCESS(status)) diff --git a/src/xeniface/wmi.c b/src/xeniface/wmi.c index 0b14e9b..0ae87d4 100644 --- a/src/xeniface/wmi.c +++ b/src/xeniface/wmi.c @@ -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; diff --git a/src/xeniface/wmi.h b/src/xeniface/wmi.h index f677ee3..b9dd256 100644 --- a/src/xeniface/wmi.h +++ b/src/xeniface/wmi.h @@ -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 );