e4d24a02da
Python 3.13's ctypes tightened argtypes checks and now rejects mismatched POINTER(MSG) cache entries — each call to POINTER(MSG) can return a class identity that doesn't match what byref() of an instance produces, raising "expected LP_MSG instance instead of pointer to _MSG" inside GetMessageW/TranslateMessage/DispatchMessageW. Capture POINTER(MSG) once into LPMSG and reuse the same class object across all three prototypes in both the WindowsShutdownGuard pump and the PlatformDetector display-power monitor. Restores the 4 failing win_shutdown tests.