master
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef LowLevelMonitorConfigurationAPI_h
8#define LowLevelMonitorConfigurationAPI_h
9
10#include <winapifamily.h>
11
12#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
13
14#include <physicalmonitorenumerationapi.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20#pragma pack(push, 1)
21
22typedef struct _MC_TIMING_REPORT {
23 DWORD dwHorizontalFrequencyInHZ;
24 DWORD dwVerticalFrequencyInHZ;
25 BYTE bTimingStatusByte;
26} MC_TIMING_REPORT, *LPMC_TIMING_REPORT;
27
28typedef enum _MC_VCP_CODE_TYPE {
29 MC_MOMENTARY,
30 MC_SET_PARAMETER
31} MC_VCP_CODE_TYPE, *LPMC_VCP_CODE_TYPE;
32
33_BOOL WINAPI GetVCPFeatureAndVCPFeatureReply(HANDLE hMonitor, BYTE bVCPCode, LPMC_VCP_CODE_TYPE pvct, LPDWORD pdwCurrentValue, LPDWORD pdwMaximumValue);
34_BOOL WINAPI SetVCPFeature(HANDLE hMonitor, BYTE bVCPCode, DWORD dwNewValue);
35_BOOL WINAPI SaveCurrentSettings(HANDLE hMonitor);
36_BOOL WINAPI GetCapabilitiesStringLength(HANDLE hMonitor, LPDWORD pdwCapabilitiesStringLengthInCharacters);
37_BOOL WINAPI CapabilitiesRequestAndCapabilitiesReply(HANDLE hMonitor, LPSTR pszASCIICapabilitiesString, DWORD dwCapabilitiesStringLengthInCharacters);
38_BOOL WINAPI GetTimingReport(HANDLE hMonitor, LPMC_TIMING_REPORT pmtrMonitorTimingReport);
39
40#pragma pack(pop)
41
42#ifdef __cplusplus
43}
44#endif
45
46#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
47
48#endif /* LowLevelMonitorConfigurationAPI_h */