From 7658029392176caef5d5c7e8fff8594dd9b79fd0 Mon Sep 17 00:00:00 2001 From: Alex Mendoza <05alex.mendozaa@gmail.com> Date: Tue, 28 Jul 2026 21:52:45 +0200 Subject: [PATCH] [VBEMP] Return NO_ERROR in VBESetPowerState (#9350) Fix incorrect status code returned by VBESetPowerState() in the VBE miniport driver. - VBESetPowerState() returned `VBE_SUCCESS` (`0x4F`, raw VESA BIOS AL success code) instead of `NO_ERROR` on success, so callers checking for `NO_ERROR` would treat every successful DPMS power-state change as a failure. Change it to `NO_ERROR`. - Change annotations to SAL2 in the source and header. --- win32ss/drivers/miniport/vbe/vbemp.c | 8 ++++---- win32ss/drivers/miniport/vbe/vbemp.h | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/win32ss/drivers/miniport/vbe/vbemp.c b/win32ss/drivers/miniport/vbe/vbemp.c index c577902366d..2c991bd7efd 100644 --- a/win32ss/drivers/miniport/vbe/vbemp.c +++ b/win32ss/drivers/miniport/vbe/vbemp.c @@ -650,9 +650,9 @@ VBEGetPowerState( VP_STATUS NTAPI VBESetPowerState( - PVOID HwDeviceExtension, - ULONG HwId, - PVIDEO_POWER_MANAGEMENT VideoPowerControl) + _In_ PVOID HwDeviceExtension, + _In_ ULONG HwId, + _In_ PVIDEO_POWER_MANAGEMENT VideoPowerControl) { INT10_BIOS_ARGUMENTS BiosRegisters; PVBE_DEVICE_EXTENSION VBEDeviceExtension = @@ -692,7 +692,7 @@ VBESetPowerState( if (VBE_GETRETURNCODE(BiosRegisters.Eax) != VBE_SUCCESS) return ERROR_INVALID_FUNCTION; - return VBE_SUCCESS; + return NO_ERROR; } /* diff --git a/win32ss/drivers/miniport/vbe/vbemp.h b/win32ss/drivers/miniport/vbe/vbemp.h index a8d1ac6a47c..2e1e4d5c441 100644 --- a/win32ss/drivers/miniport/vbe/vbemp.h +++ b/win32ss/drivers/miniport/vbe/vbemp.h @@ -252,9 +252,9 @@ VBEGetPowerState( VP_STATUS NTAPI VBESetPowerState( - PVOID HwDeviceExtension, - ULONG HwId, - PVIDEO_POWER_MANAGEMENT VideoPowerControl); + _In_ PVOID HwDeviceExtension, + _In_ ULONG HwId, + _In_ PVIDEO_POWER_MANAGEMENT VideoPowerControl); BOOLEAN FASTCALL VBESetCurrentMode(