public static DWM_TIMING_INFO?DwmGetCompositionTimingInfo(IntPtr hwnd) { if (!Utility.IsOSVistaOrNewer) { return(null); } DWM_TIMING_INFO value = new DWM_TIMING_INFO { cbSize = Marshal.SizeOf(typeof(DWM_TIMING_INFO)) }; HRESULT hrLeft = NativeMethods._DwmGetCompositionTimingInfo(hwnd, ref value); if (hrLeft == HRESULT.E_PENDING) { return(null); } hrLeft.ThrowIfFailed(); return(new DWM_TIMING_INFO?(value)); }