[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 2/2] Remove reboot request from the co-installer
This is now taken care of by XENVIF by way of the XENBUS_MONITOR service. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> --- src/coinst/coinst.c | 139 ++-------------------------------------------------- 1 file changed, 3 insertions(+), 136 deletions(-) diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c index d38d90d..cdf61c0 100644 --- a/src/coinst/coinst.c +++ b/src/coinst/coinst.c @@ -55,12 +55,6 @@ __user_code; #define SERVICES_KEY "SYSTEM\\CurrentControlSet\\Services" -#define SERVICE_KEY(_Driver) \ - SERVICES_KEY ## "\\" ## #_Driver - -#define STATUS_KEY \ - SERVICE_KEY(XENVIF) ## "\\Status" - static VOID #pragma prefast(suppress:6262) // Function uses '1036' bytes of stack: exceeds /analyze:stacksize'1024' __Log( @@ -316,124 +310,6 @@ fail1: } static BOOLEAN -CheckStatus( - OUT PBOOLEAN NeedReboot - ) -{ - HKEY StatusKey; - HRESULT Error; - DWORD ValueLength; - DWORD Value; - DWORD Type; - - Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE, - STATUS_KEY, - 0, - KEY_READ, - &StatusKey); - if (Error != ERROR_SUCCESS) { - SetLastError(Error); - goto fail1; - } - - ValueLength = sizeof (Value); - - Error = RegQueryValueEx(StatusKey, - "NeedReboot", - NULL, - &Type, - (LPBYTE)&Value, - &ValueLength); - if (Error != ERROR_SUCCESS) { - if (Error == ERROR_FILE_NOT_FOUND) { - Type = REG_DWORD; - Value = 0; - } else { - SetLastError(Error); - goto fail2; - } - } - - if (Type != REG_DWORD) { - SetLastError(ERROR_BAD_FORMAT); - goto fail3; - } - - *NeedReboot = (Value != 0) ? TRUE : FALSE; - - if (*NeedReboot) - Log("NeedReboot"); - - RegCloseKey(StatusKey); - - return TRUE; - -fail3: - Log("fail3"); - -fail2: - Log("fail2"); - - RegCloseKey(StatusKey); - -fail1: - Error = GetLastError(); - - { - PTCHAR Message; - Message = __GetErrorMessage(Error); - Log("fail1 (%s)", Message); - LocalFree(Message); - } - - return FALSE; -} - -static BOOLEAN -RequestReboot( - IN HDEVINFO DeviceInfoSet, - IN PSP_DEVINFO_DATA DeviceInfoData - ) -{ - SP_DEVINSTALL_PARAMS DeviceInstallParams; - HRESULT Error; - - DeviceInstallParams.cbSize = sizeof (DeviceInstallParams); - - if (!SetupDiGetDeviceInstallParams(DeviceInfoSet, - DeviceInfoData, - &DeviceInstallParams)) - goto fail1; - - DeviceInstallParams.Flags |= DI_NEEDREBOOT; - - Log("Flags = %08x", DeviceInstallParams.Flags); - - if (!SetupDiSetDeviceInstallParams(DeviceInfoSet, - DeviceInfoData, - &DeviceInstallParams)) - goto fail2; - - return TRUE; - -fail2: - Log("fail2"); - -fail1: - Error = GetLastError(); - - { - PTCHAR Message; - - Message = __GetErrorMessage(Error); - Log("fail1 (%s)", Message); - LocalFree(Message); - } - - return FALSE; -} - -static BOOLEAN OpenSoftwareKey( IN HDEVINFO DeviceInfoSet, IN PSP_DEVINFO_DATA DeviceInfoData, @@ -670,20 +546,11 @@ __DifInstallPostProcess( IN PCOINSTALLER_CONTEXT_DATA Context ) { - BOOLEAN NeedReboot; - + UNREFERENCED_PARAMETER(DeviceInfoSet); + UNREFERENCED_PARAMETER(DeviceInfoData); UNREFERENCED_PARAMETER(Context); - Log("====>"); - - NeedReboot = FALSE; - - (VOID) CheckStatus(&NeedReboot); - - if (NeedReboot) - (VOID) RequestReboot(DeviceInfoSet, DeviceInfoData); - - Log("<===="); + Log("<===>"); return NO_ERROR; } -- 2.1.1 _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |