// Licensed under the Apache License, Version 2.0 // or the MIT license // , at your option. // All files in the project carrying such notice may not be copied, modified, or distributed // except according to those terms. use shared::minwindef::{BYTE, DWORD, LPDWORD}; use um::physicalmonitorenumerationapi::_BOOL; use um::winnt::{HANDLE, LPSTR}; STRUCT!{#[repr(packed)] struct MC_TIMING_REPORT { dwHorizontalFrequencyInHZ: DWORD, dwVerticalFrequencyInHZ: DWORD, bTimingStatusByte: BYTE, }} pub type LPMC_TIMING_REPORT = *mut MC_TIMING_REPORT; ENUM!{enum MC_VCP_CODE_TYPE { MC_MOMENTARY, MC_SET_PARAMETER, }} pub type LPMC_VCP_CODE_TYPE = *mut MC_VCP_CODE_TYPE; extern "system" { pub fn GetVCPFeatureAndVCPFeatureReply( hMonitor: HANDLE, bVCPCode: BYTE, pvct: LPMC_VCP_CODE_TYPE, pdwCurrentValue: LPDWORD, pdwMaximumValue: LPDWORD, ) -> _BOOL; pub fn SetVCPFeature( hMonitor: HANDLE, bVCPCode: BYTE, dwNewValue: DWORD, ) -> _BOOL; pub fn SaveCurrentSettings( hMonitor: HANDLE, ) -> _BOOL; pub fn GetCapabilitiesStringLength( hMonitor: HANDLE, pdwCapabilitiesStringLengthInCharacters: LPDWORD, ) -> _BOOL; pub fn CapabilitiesRequestAndCapabilitiesReply( hMonitor: HANDLE, pszASCIICapabilitiesString: LPSTR, dwCapabilitiesStringLengthInCharacters: DWORD, ) -> _BOOL; pub fn GetTimingReport( hMonitor: HANDLE, pmtrMonitorTimingReport: LPMC_TIMING_REPORT, ) -> _BOOL; }