' ########################################################################################
' Microsoft Windows
' File: LowLevelMonitorConfigurationApi.inc
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_lowlevelmonitorconfigurationapi_PBI)
#DEFINE PBX_lowlevelmonitorconfigurationapi_PBI
%EQUATE `LOWLEVELMONITORCONFIGURATIONAPI_INC = 1
#INCLUDE ONCE "Legacy/System/physicalmonitorenumerationapi.inc"
'#pragma pack( push, 1 )
' // Size = 9 bytes
TYPE MC_TIMING_REPORT BYTE
 dwHorizontalFrequencyInHZ AS DWORD
 dwVerticalFrequencyInHZ AS DWORD
 bTimingStatusByte AS BYTE ' BYTE
END TYPE
' enum MC_VCP_CODE_TYPE
%EQUATE `MC_MOMENTARY = 0
%EQUATE `MC_SET_PARAMETER = 1
DECLARE FUNCTION GetVCPFeatureAndVCPFeatureReply LIB "dxva2.dll" ALIAS "GetVCPFeatureAndVCPFeatureReply" ( BYVAL hMonitor AS QUAD , BYVAL bVCPCode AS BYTE , BYREF pvct AS QUAD , BYREF pdwCurrentValue AS QUAD , BYREF pdwMaximumValue AS QUAD ) AS LONG
DECLARE FUNCTION SetVCPFeature LIB "dxva2.dll" ALIAS "SetVCPFeature" ( BYVAL hMonitor AS QUAD
 , BYVAL bVCPCode AS BYTE
 , BYVAL dwNewValue AS DWORD
 ) AS LONG
DECLARE FUNCTION SaveCurrentSettings LIB "dxva2.dll" ALIAS "SaveCurrentSettings" ( BYVAL hMonitor AS DWORD
 ) AS LONG
DECLARE FUNCTION GetCapabilitiesStringLength LIB "dxva2.dll" ALIAS "GetCapabilitiesStringLength" ( BYVAL hMonitor AS DWORD
 , BYREF pdwCapabilitiesStringLengthInCharacters AS DWORD
 ) AS LONG
DECLARE FUNCTION CapabilitiesRequestAndCapabilitiesReply LIB "dxva2.dll" ALIAS "CapabilitiesRequestAndCapabilitiesReply" ( BYVAL hMonitor AS DWORD
 , BYREF pszASCIICapabilitiesString AS ASCIIZ
 , BYVAL dwCapabilitiesStringLengthInCharacters AS DWORD
 ) AS LONG
DECLARE FUNCTION GetTimingReport LIB "dxva2.dll" ALIAS "GetTimingReport" ( BYVAL hMonitor AS DWORD
 , BYREF pmtrMonitorTimingReport AS DWORD
 ) AS LONG
'#pragma pack( pop )
#ENDIF
