winapi_ui_automation/um/
lowlevelmonitorconfigurationapi.rs1use shared::minwindef::{BYTE, DWORD, LPDWORD};
7use um::physicalmonitorenumerationapi::_BOOL;
8use um::winnt::{HANDLE, LPSTR};
9STRUCT!{#[repr(packed)] struct MC_TIMING_REPORT {
10 dwHorizontalFrequencyInHZ: DWORD,
11 dwVerticalFrequencyInHZ: DWORD,
12 bTimingStatusByte: BYTE,
13}}
14pub type LPMC_TIMING_REPORT = *mut MC_TIMING_REPORT;
15ENUM!{enum MC_VCP_CODE_TYPE {
16 MC_MOMENTARY,
17 MC_SET_PARAMETER,
18}}
19pub type LPMC_VCP_CODE_TYPE = *mut MC_VCP_CODE_TYPE;
20extern "system" {
21 pub fn GetVCPFeatureAndVCPFeatureReply(
22 hMonitor: HANDLE,
23 bVCPCode: BYTE,
24 pvct: LPMC_VCP_CODE_TYPE,
25 pdwCurrentValue: LPDWORD,
26 pdwMaximumValue: LPDWORD,
27 ) -> _BOOL;
28 pub fn SetVCPFeature(
29 hMonitor: HANDLE,
30 bVCPCode: BYTE,
31 dwNewValue: DWORD,
32 ) -> _BOOL;
33 pub fn SaveCurrentSettings(
34 hMonitor: HANDLE,
35 ) -> _BOOL;
36 pub fn GetCapabilitiesStringLength(
37 hMonitor: HANDLE,
38 pdwCapabilitiesStringLengthInCharacters: LPDWORD,
39 ) -> _BOOL;
40 pub fn CapabilitiesRequestAndCapabilitiesReply(
41 hMonitor: HANDLE,
42 pszASCIICapabilitiesString: LPSTR,
43 dwCapabilitiesStringLengthInCharacters: DWORD,
44 ) -> _BOOL;
45 pub fn GetTimingReport(
46 hMonitor: HANDLE,
47 pmtrMonitorTimingReport: LPMC_TIMING_REPORT,
48 ) -> _BOOL;
49}