| 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 |
| 17 | extern "C" { |
| 18 | #endif |
| 19 | |
| 20 | #pragma pack(push, 1) |
| 21 | |
| 22 | typedef struct _MC_TIMING_REPORT { |
| 23 | DWORD dwHorizontalFrequencyInHZ; |
| 24 | DWORD dwVerticalFrequencyInHZ; |
| 25 | BYTE bTimingStatusByte; |
| 26 | } MC_TIMING_REPORT, *LPMC_TIMING_REPORT; |
| 27 | |
| 28 | typedef 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 */ |