Package com.sun.jna.platform.win32

## Interface Dxva2

All Superinterfaces:
  `AltCallingConvention`, `HighLevelMonitorConfigurationAPI`, `Library`, `LowLevelMonitorConfigurationAPI`, `PhysicalMonitorEnumerationAPI`, `StdCall`, `StdCallLibrary`

    public interface Dxva2
    extends StdCallLibrary, PhysicalMonitorEnumerationAPI, HighLevelMonitorConfigurationAPI, LowLevelMonitorConfigurationAPI

A port of dxva2.dll

Author:
  Martin Steiger

### Nested Class Summary

### Nested classes/interfaces inherited from interface com.sun.jna.platform.win32.HighLevelMonitorConfigurationAPI

`HighLevelMonitorConfigurationAPI.MC_CAPS, HighLevelMonitorConfigurationAPI.MC_COLOR_TEMPERATURE, HighLevelMonitorConfigurationAPI.MC_DISPLAY_TECHNOLOGY_TYPE, HighLevelMonitorConfigurationAPI.MC_DRIVE_TYPE, HighLevelMonitorConfigurationAPI.MC_GAIN_TYPE, HighLevelMonitorConfigurationAPI.MC_POSITION_TYPE, HighLevelMonitorConfigurationAPI.MC_SIZE_TYPE, HighLevelMonitorConfigurationAPI.MC_SUPPORTED_COLOR_TEMPERATURE`

### Nested classes/interfaces inherited from interface com.sun.jna.Library

`Library.Handler`

### Nested classes/interfaces inherited from interface com.sun.jna.platform.win32.LowLevelMonitorConfigurationAPI

`LowLevelMonitorConfigurationAPI.MC_TIMING_REPORT, LowLevelMonitorConfigurationAPI.MC_VCP_CODE_TYPE`

### Nested classes/interfaces inherited from interface com.sun.jna.platform.win32.PhysicalMonitorEnumerationAPI

`PhysicalMonitorEnumerationAPI.PHYSICAL_MONITOR`

### Nested classes/interfaces inherited from interface com.sun.jna.win32.StdCallLibrary

`StdCallLibrary.StdCallCallback`

### Field Summary

Fields
`static java.util.Map<java.lang.String,​java.lang.Object>` `DXVA_OPTIONS`
`static Dxva2` `INSTANCE` The only instance of the library

### Fields inherited from interface com.sun.jna.Library

`OPTION_ALLOW_OBJECTS, OPTION_CALLING_CONVENTION, OPTION_CLASSLOADER, OPTION_FUNCTION_MAPPER, OPTION_INVOCATION_MAPPER, OPTION_OPEN_FLAGS, OPTION_STRING_ENCODING, OPTION_STRUCTURE_ALIGNMENT, OPTION_TYPE_MAPPER`

### Fields inherited from interface com.sun.jna.platform.win32.PhysicalMonitorEnumerationAPI

`PHYSICAL_MONITOR_DESCRIPTION_SIZE`

### Fields inherited from interface com.sun.jna.win32.StdCallLibrary

`FUNCTION_MAPPER, STDCALL_CONVENTION`

### Method Summary

All Methods Instance Methods Abstract Methods
`WinDef.BOOL` `CapabilitiesRequestAndCapabilitiesReply​(WinNT.HANDLE hMonitor, WTypes.LPSTR pszASCIICapabilitiesString, WinDef.DWORD dwCapabilitiesStringLengthInCharacters)` Retrieves a string describing a monitor's capabilities.
`WinDef.BOOL` `DegaussMonitor​(WinNT.HANDLE hMonitor)` Degausses a monitor.
`WinDef.BOOL` `DestroyPhysicalMonitor​(WinNT.HANDLE hMonitor)` Closes a handle to a physical monitor.
`WinDef.BOOL` `DestroyPhysicalMonitors​(int dwPhysicalMonitorArraySize, PhysicalMonitorEnumerationAPI.PHYSICAL_MONITOR[] pPhysicalMonitorArray)` Closes an array of physical monitor handles.
`WinDef.BOOL` `GetCapabilitiesStringLength​(WinNT.HANDLE hMonitor, WinDef.DWORDByReference pdwCapabilitiesStringLengthInCharacters)` Retrieves the length of a monitor's capabilities string.
`WinDef.BOOL` `GetMonitorBrightness​(WinNT.HANDLE hMonitor, WinDef.DWORDByReference pdwMinimumBrightness, WinDef.DWORDByReference pdwCurrentBrightness, WinDef.DWORDByReference pdwMaximumBrightness)` Retrieves a monitor's minimum, maximum, and current brightness settings.
`WinDef.BOOL` `GetMonitorCapabilities​(WinNT.HANDLE hMonitor, WinDef.DWORDByReference pdwMonitorCapabilities, WinDef.DWORDByReference pdwSupportedColorTemperatures)` Retrieves the configuration capabilities of a monitor.
`WinDef.BOOL` `GetMonitorColorTemperature​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_COLOR_TEMPERATURE.ByReference pctCurrentColorTemperature)` Retrieves a monitor's current color temperature.
`WinDef.BOOL` `GetMonitorContrast​(WinNT.HANDLE hMonitor, WinDef.DWORDByReference pdwMinimumContrast, WinDef.DWORDByReference pdwCurrentContrast, WinDef.DWORDByReference pdwMaximumContrast)` Retrieves a monitor's minimum, maximum, and current contrast settings.
`WinDef.BOOL` `GetMonitorDisplayAreaPosition​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_POSITION_TYPE ptPositionType, WinDef.DWORDByReference pdwMinimumPosition, WinDef.DWORDByReference pdwCurrentPosition, WinDef.DWORDByReference pdwMaximumPosition)` Retrieves a monitor's minimum, maximum, and current horizontal or vertical position.
`WinDef.BOOL` `GetMonitorDisplayAreaSize​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_SIZE_TYPE stSizeType, WinDef.DWORDByReference pdwMinimumWidthOrHeight, WinDef.DWORDByReference pdwCurrentWidthOrHeight, WinDef.DWORDByReference pdwMaximumWidthOrHeight)` Retrieves a monitor's minimum, maximum, and current width or height.
`WinDef.BOOL` `GetMonitorRedGreenOrBlueDrive​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_DRIVE_TYPE dtDriveType, WinDef.DWORDByReference pdwMinimumDrive, WinDef.DWORDByReference pdwCurrentDrive, WinDef.DWORDByReference pdwMaximumDrive)` Retrieves a monitor's red, green, or blue drive value.
`WinDef.BOOL` `GetMonitorRedGreenOrBlueGain​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_GAIN_TYPE gtGainType, WinDef.DWORDByReference pdwMinimumGain, WinDef.DWORDByReference pdwCurrentGain, WinDef.DWORDByReference pdwMaximumGain)` Retrieves a monitor's red, green, or blue gain value.
`WinDef.BOOL` `GetMonitorTechnologyType​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_DISPLAY_TECHNOLOGY_TYPE.ByReference pdtyDisplayTechnologyType)` Retrieves the type of technology used by a monitor.
`WinDef.BOOL` `GetNumberOfPhysicalMonitorsFromHMONITOR​(WinUser.HMONITOR hMonitor, WinDef.DWORDByReference pdwNumberOfPhysicalMonitors)` Retrieves the number of physical monitors associated with an HMONITOR monitor handle.
`WinDef.BOOL` `GetPhysicalMonitorsFromHMONITOR​(WinUser.HMONITOR hMonitor, int dwPhysicalMonitorArraySize, PhysicalMonitorEnumerationAPI.PHYSICAL_MONITOR[] pPhysicalMonitorArray)` Retrieves the physical monitors associated with an HMONITOR monitor handle.
`WinDef.BOOL` `GetTimingReport​(WinNT.HANDLE hMonitor, LowLevelMonitorConfigurationAPI.MC_TIMING_REPORT pmtrMonitorTimingReport)` Retrieves a monitor's horizontal and vertical synchronization frequencies.
`WinDef.BOOL` `GetVCPFeatureAndVCPFeatureReply​(WinNT.HANDLE hMonitor, WinDef.BYTE bVCPCode, LowLevelMonitorConfigurationAPI.MC_VCP_CODE_TYPE.ByReference pvct, WinDef.DWORDByReference pdwCurrentValue, WinDef.DWORDByReference pdwMaximumValue)` Retrieves the current value, maximum value, and code type of a Virtual Control Panel (VCP) code for a monitor.
`WinDef.BOOL` `RestoreMonitorFactoryColorDefaults​(WinNT.HANDLE hMonitor)` Restores a monitor's color settings to their factory defaults.
`WinDef.BOOL` `RestoreMonitorFactoryDefaults​(WinNT.HANDLE hMonitor)` Restores a monitor's settings to their factory defaults.
`WinDef.BOOL` `SaveCurrentMonitorSettings​(WinNT.HANDLE hMonitor)` Saves the current monitor settings to the display's nonvolatile storage.
`WinDef.BOOL` `SaveCurrentSettings​(WinNT.HANDLE hMonitor)` Saves the current monitor settings to the display's nonvolatile storage.
`WinDef.BOOL` `SetMonitorBrightness​(WinNT.HANDLE hMonitor, int dwNewBrightness)` Sets a monitor's brightness value.
`WinDef.BOOL` `SetMonitorColorTemperature​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_COLOR_TEMPERATURE ctCurrentColorTemperature)` Sets a monitor's color temperature.
`WinDef.BOOL` `SetMonitorContrast​(WinNT.HANDLE hMonitor, int dwNewContrast)` Sets a monitor's contrast value.
`WinDef.BOOL` `SetMonitorDisplayAreaPosition​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_POSITION_TYPE ptPositionType, int dwNewPosition)` Sets the horizontal or vertical position of a monitor's display area.
`WinDef.BOOL` `SetMonitorDisplayAreaSize​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_SIZE_TYPE stSizeType, int dwNewDisplayAreaWidthOrHeight)` Sets the width or height of a monitor's display area.
`WinDef.BOOL` `SetMonitorRedGreenOrBlueDrive​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_DRIVE_TYPE dtDriveType, int dwNewDrive)` Sets a monitor's red, green, or blue drive value.
`WinDef.BOOL` `SetMonitorRedGreenOrBlueGain​(WinNT.HANDLE hMonitor, HighLevelMonitorConfigurationAPI.MC_GAIN_TYPE gtGainType, int dwNewGain)` Sets a monitor's red, green, or blue gain value.
`WinDef.BOOL` `SetVCPFeature​(WinNT.HANDLE hMonitor, WinDef.BYTE bVCPCode, WinDef.DWORD dwNewValue)` Sets the value of a Virtual Control Panel (VCP) code for a monitor.

### Field Detail

#### DXVA_OPTIONS

    static final java.util.Map<java.lang.String,​java.lang.Object> DXVA_OPTIONS

#### INSTANCE

    static final Dxva2 INSTANCE

The only instance of the library

### Method Detail

#### GetMonitorCapabilities

    WinDef.BOOL GetMonitorCapabilities​(WinNT.HANDLE hMonitor,
                                       WinDef.DWORDByReference pdwMonitorCapabilities,
                                       WinDef.DWORDByReference pdwSupportedColorTemperatures)

Retrieves the configuration capabilities of a monitor. Call this function to find out which high-level monitor configuration functions are supported by the monitor.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call `GetPhysicalMonitorsFromHMONITOR(com.sun.jna.platform.win32.WinUser.HMONITOR, int, com.sun.jna.platform.win32.PhysicalMonitorEnumerationAPI.PHYSICAL_MONITOR[])`
  `pdwMonitorCapabilities` - Receives a bitwise OR of capabilities flags. (MC_CAPS_*)
  `pdwSupportedColorTemperatures` - Receives a bitwise OR of color temperature flags. (MC_SUPPORTED_COLOR_TEMPERATURE_*)
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError.

  The function fails if the monitor does not support DDC/CI.

#### SaveCurrentMonitorSettings

    WinDef.BOOL SaveCurrentMonitorSettings​(WinNT.HANDLE hMonitor)

Saves the current monitor settings to the display's nonvolatile storage.

This function takes about 200 milliseconds to return. This high-level function is identical to the low-level function SaveCurrentSettings.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### GetMonitorTechnologyType

    WinDef.BOOL GetMonitorTechnologyType​(WinNT.HANDLE hMonitor,
                                         HighLevelMonitorConfigurationAPI.MC_DISPLAY_TECHNOLOGY_TYPE.ByReference pdtyDisplayTechnologyType)

Retrieves the type of technology used by a monitor. This function does not support every display technology. If a monitor uses a display technology that is supported by this function, the GetMonitorCapabilities function returns the MC_CAPS_DISPLAY_TECHNOLOGY_TYPE flag. If that flag is absent, the GetMonitorTechnologyType function fails. Some monitor technologies do not support certain monitor configuration functions. For example, the DegaussMonitor function is supported only for cathode ray tube (CRT) monitors. To find out whether a specific function is supported, call GetMonitorCapabilities.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
  `pdtyDisplayTechnologyType` - Receives the technology type as defined in `HighLevelMonitorConfigurationAPI.MC_DISPLAY_TECHNOLOGY_TYPE`.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### GetMonitorBrightness

    WinDef.BOOL GetMonitorBrightness​(WinNT.HANDLE hMonitor,
                                     WinDef.DWORDByReference pdwMinimumBrightness,
                                     WinDef.DWORDByReference pdwCurrentBrightness,
                                     WinDef.DWORDByReference pdwMaximumBrightness)

Retrieves a monitor's minimum, maximum, and current brightness settings.

If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_BRIGHTNESS flag. This function takes about 40 milliseconds to return. The brightness setting is a continuous monitor setting.

Parameters:
  `hMonitor` - Handle to a physical monitor
  `pdwMinimumBrightness` - Receives the monitor's minimum brightness.
  `pdwCurrentBrightness` - Receives the monitor's current brightness.
  `pdwMaximumBrightness` - Receives the monitor's maximum brightness.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### GetMonitorContrast

    WinDef.BOOL GetMonitorContrast​(WinNT.HANDLE hMonitor,
                                   WinDef.DWORDByReference pdwMinimumContrast,
                                   WinDef.DWORDByReference pdwCurrentContrast,
                                   WinDef.DWORDByReference pdwMaximumContrast)

Retrieves a monitor's minimum, maximum, and current contrast settings.

Parameters:
  `hMonitor` - Handle to a physical monitor.
  `pdwMinimumContrast` - Receives the monitor's minimum contrast.
  `pdwCurrentContrast` - Receives the monitor's current contrast.
  `pdwMaximumContrast` - Receives the monitor's maximum contrast.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### GetMonitorColorTemperature

    WinDef.BOOL GetMonitorColorTemperature​(WinNT.HANDLE hMonitor,
                                           HighLevelMonitorConfigurationAPI.MC_COLOR_TEMPERATURE.ByReference pctCurrentColorTemperature)

Retrieves a monitor's current color temperature.

If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_COLOR_TEMPERATURE flag. This function takes between 0 and 80 milliseconds to return.

Parameters:
  `hMonitor` - Handle to a physical monitor.
  `pctCurrentColorTemperature` - Receives the monitor's current color temperature.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### GetMonitorRedGreenOrBlueDrive

    WinDef.BOOL GetMonitorRedGreenOrBlueDrive​(WinNT.HANDLE hMonitor,
                                              HighLevelMonitorConfigurationAPI.MC_DRIVE_TYPE dtDriveType,
                                              WinDef.DWORDByReference pdwMinimumDrive,
                                              WinDef.DWORDByReference pdwCurrentDrive,
                                              WinDef.DWORDByReference pdwMaximumDrive)

Retrieves a monitor's red, green, or blue drive value.

Drive settings are generally used to adjust the monitor's white point. Drive and black level are different names for the same monitor setting. If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_RED_GREEN_BLUE_DRIVE flag.

Parameters:
  `hMonitor` - Handle to a physical monitor.
  `dtDriveType` - A member of the MC_DRIVE_TYPE enumeration, specifying whether to retrieve the red, green, or blue drive value.
  `pdwMinimumDrive` - Receives the minimum red, green, or blue drive value.
  `pdwCurrentDrive` - Receives the current red, green, or blue drive value.
  `pdwMaximumDrive` - Receives the maximum red, green, or blue drive value.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### GetMonitorRedGreenOrBlueGain

    WinDef.BOOL GetMonitorRedGreenOrBlueGain​(WinNT.HANDLE hMonitor,
                                             HighLevelMonitorConfigurationAPI.MC_GAIN_TYPE gtGainType,
                                             WinDef.DWORDByReference pdwMinimumGain,
                                             WinDef.DWORDByReference pdwCurrentGain,
                                             WinDef.DWORDByReference pdwMaximumGain)

Retrieves a monitor's red, green, or blue gain value.

Gain settings are generally used to adjust the monitor's white point. If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_RED_GREEN_BLUE_GAIN flag. This function takes about 40 milliseconds to return. The gain settings are continuous monitor settings.

Parameters:
  `hMonitor` - Handle to a physical monitor.
  `gtGainType` - A member of the MC_GAIN_TYPE enumeration, specifying whether to retrieve the red, green, or blue gain value.
  `pdwMinimumGain` - Receives the minimum red, green, or blue gain value.
  `pdwCurrentGain` - Receives the current red, green, or blue gain value.
  `pdwMaximumGain` - Receives the maximum red, green, or blue gain value.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### SetMonitorBrightness

    WinDef.BOOL SetMonitorBrightness​(WinNT.HANDLE hMonitor,
                                     int dwNewBrightness)

Sets a monitor's brightness value.

If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_BRIGHTNESS flag. This function takes about 50 milliseconds to return. The brightness setting is a continuous monitor setting.

Parameters:
  `hMonitor` - Handle to a physical monitor.
  `dwNewBrightness` - Brightness value. To get the monitor's minimum and maximum brightness values, call GetMonitorBrightness.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### SetMonitorContrast

    WinDef.BOOL SetMonitorContrast​(WinNT.HANDLE hMonitor,
                                   int dwNewContrast)

Sets a monitor's contrast value.

If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_CONTRAST flag. This function takes about 50 milliseconds to return. The brightness setting is a continuous monitor setting.

Parameters:
  `hMonitor` - Handle to a physical monitor.
  `dwNewContrast` - Contrast value. To get the monitor's minimum and maximum contrast values, call GetMonitorContrast.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### SetMonitorColorTemperature

    WinDef.BOOL SetMonitorColorTemperature​(WinNT.HANDLE hMonitor,
                                           HighLevelMonitorConfigurationAPI.MC_COLOR_TEMPERATURE ctCurrentColorTemperature)

Sets a monitor's color temperature.

If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_COLOR_TEMPERATURE flag. The GetMonitorCapabilities function also returns the range of color temperatures that the monitor supports. The ctCurrentColorTemperature parameter must correspond to one of these values. Changing the color temperature changes the monitor's white point. It can also change the current drive and gain settings. To get the new drive and gain settings, call GetMonitorRedGreenOrBlueDrive and GetMonitorRedGreenOrBlueGain, respectively. This function takes from 50 to 90 milliseconds to return.

Parameters:
  `hMonitor` - Handle to a physical monitor.
  `ctCurrentColorTemperature` - Color temperature, specified as a member of the MC_COLOR_TEMPERATURE enumeration.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### SetMonitorRedGreenOrBlueDrive

    WinDef.BOOL SetMonitorRedGreenOrBlueDrive​(WinNT.HANDLE hMonitor,
                                              HighLevelMonitorConfigurationAPI.MC_DRIVE_TYPE dtDriveType,
                                              int dwNewDrive)

Sets a monitor's red, green, or blue drive value.

Drive settings are generally used to adjust the monitor's white point. Drive and black level are different names for the same monitor setting. If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_RED_GREEN_BLUE_DRIVE flag. This function takes about 50 milliseconds to return. Changing the drive settings can change the color temperature. To get the new color temperature, call GetMonitorColorTemperature. The drive settings are continuous monitor settings

Parameters:
  `hMonitor` - Handle to a physical monitor.
  `dtDriveType` - A member of the MC_DRIVE_TYPE enumeration, specifying whether to set the red, green, or blue drive value.
  `dwNewDrive` - Red, green, or blue drive value. To get the monitor's minimum and maximum drive values, call GetMonitorRedGreenOrBlueDrive.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### SetMonitorRedGreenOrBlueGain

    WinDef.BOOL SetMonitorRedGreenOrBlueGain​(WinNT.HANDLE hMonitor,
                                             HighLevelMonitorConfigurationAPI.MC_GAIN_TYPE gtGainType,
                                             int dwNewGain)

Sets a monitor's red, green, or blue gain value.

Gain settings are generally used to adjust the monitor's white point. If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_RED_GREEN_BLUE_GAIN flag. This function takes about 50 milliseconds to return. Changing the gain settings can change the color temperature. To get the new color temperature, call GetMonitorColorTemperature. The gain settings are continuous monitor settings.

Parameters:
  `hMonitor` - Handle to a physical monitor.
  `gtGainType` - A member of the MC_GAIN_TYPE enumeration, specifying whether to set the red, green, or blue gain.
  `dwNewGain` - Red, green, or blue gain value. To get the monitor's minimum and maximum gain values, call GetMonitorRedGreenOrBlueGain.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### DegaussMonitor

    WinDef.BOOL DegaussMonitor​(WinNT.HANDLE hMonitor)

Degausses a monitor.

If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_DEGAUSS flag. Degaussing is supported only by cathode ray tube (CRT) monitors. This function takes about 50 milliseconds to return. This function should not be called frequently, because calling it frequently will not noticeably improve the monitor's image quality or color fidelity.

Parameters:
  `hMonitor` - Handle to a physical monitor.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### GetMonitorDisplayAreaSize

    WinDef.BOOL GetMonitorDisplayAreaSize​(WinNT.HANDLE hMonitor,
                                          HighLevelMonitorConfigurationAPI.MC_SIZE_TYPE stSizeType,
                                          WinDef.DWORDByReference pdwMinimumWidthOrHeight,
                                          WinDef.DWORDByReference pdwCurrentWidthOrHeight,
                                          WinDef.DWORDByReference pdwMaximumWidthOrHeight)

Retrieves a monitor's minimum, maximum, and current width or height.

If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_DISPLAY_AREA_SIZE flag. This function takes about 40 milliseconds to return. The width and height settings are continuous monitor settings.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
  `stSizeType` - A member of the MC_SIZE_TYPE enumeration, specifying whether to retrieve the width or the height.
  `pdwMinimumWidthOrHeight` - Receives the minimum width or height.
  `pdwCurrentWidthOrHeight` - Receives the current width or height.
  `pdwMaximumWidthOrHeight` - Receives the maximum width or height.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### GetMonitorDisplayAreaPosition

    WinDef.BOOL GetMonitorDisplayAreaPosition​(WinNT.HANDLE hMonitor,
                                              HighLevelMonitorConfigurationAPI.MC_POSITION_TYPE ptPositionType,
                                              WinDef.DWORDByReference pdwMinimumPosition,
                                              WinDef.DWORDByReference pdwCurrentPosition,
                                              WinDef.DWORDByReference pdwMaximumPosition)

Retrieves a monitor's minimum, maximum, and current horizontal or vertical position.

If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_DISPLAY_AREA_POSITION flag. This function takes about 40 milliseconds to return. The horizontal and vertical position are continuous monitor settings.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
  `ptPositionType` - A member of the MC_POSITION_TYPE enumeration, specifying whether to retrieve the horizontal position or the vertical position.
  `pdwMinimumPosition` - Receives the minimum horizontal or vertical position.
  `pdwCurrentPosition` - Receives the current horizontal or vertical position.
  `pdwMaximumPosition` - Receives the maximum horizontal or vertical position.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### SetMonitorDisplayAreaSize

    WinDef.BOOL SetMonitorDisplayAreaSize​(WinNT.HANDLE hMonitor,
                                          HighLevelMonitorConfigurationAPI.MC_SIZE_TYPE stSizeType,
                                          int dwNewDisplayAreaWidthOrHeight)

Sets the width or height of a monitor's display area.

If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_DISPLAY_AREA_SIZE flag. This function takes about 50 milliseconds to return. The width and height settings are continuous monitor settings.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
  `stSizeType` - A member of the MC_SIZE_TYPE enumeration, specifying whether to set the width or the height.
  `dwNewDisplayAreaWidthOrHeight` - Display area width or height. To get the minimum and maximum width and height, call GetMonitorDisplayAreaSize.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### SetMonitorDisplayAreaPosition

    WinDef.BOOL SetMonitorDisplayAreaPosition​(WinNT.HANDLE hMonitor,
                                              HighLevelMonitorConfigurationAPI.MC_POSITION_TYPE ptPositionType,
                                              int dwNewPosition)

Sets the horizontal or vertical position of a monitor's display area.

If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_DISPLAY_AREA_POSITION flag. This function takes about 50 milliseconds to return. The horizontal and vertical position are continuous monitor settings.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
  `ptPositionType` - A member of the MC_POSITION_TYPE enumeration, specifying whether to set the horizontal position or the vertical position.
  `dwNewPosition` - Horizontal or vertical position. To get the minimum and maximum position, call GetMonitorDisplayAreaPosition.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### RestoreMonitorFactoryColorDefaults

    WinDef.BOOL RestoreMonitorFactoryColorDefaults​(WinNT.HANDLE hMonitor)

Restores a monitor's color settings to their factory defaults. This function potentially changes the current value of the monitor's brightness, contrast, color temperature, drive, and gain. The current value of each setting is changed to its factory default. The default settings depend on the manufacturer. This function can also change the range of supported values for each of these settings. The function does not enable any monitor settings that were disabled. If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_RESTORE_FACTORY_COLOR_DEFAULTS flag. This function takes about 5 seconds to return. This function might reset monitor settings that are not accessible through the high-level monitor configuration functions. Whether this occurs depends on the specific model of monitor. The following settings are not affected by this function:

- Display area size
- Display area position
- Capabilities flags

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### RestoreMonitorFactoryDefaults

    WinDef.BOOL RestoreMonitorFactoryDefaults​(WinNT.HANDLE hMonitor)

Restores a monitor's settings to their factory defaults. This function restores all of the settings that are supported by the high-level monitor configuration functions. It might also restore settings that are available only through the low-level functions and are not supported by the high-level functions. The current value of each setting is changed to its factory default. The exact settings that change, and the default values of those settings, depend on the manufacturer. This function can also change the range of supported values for some settings. If this function is supported, the GetMonitorCapabilities function returns the MC_CAPS_RESTORE_FACTORY_DEFAULTS flag. This function takes about 5 seconds to return. If GetMonitorCapabilities returns the MC_RESTORE_FACTORY_DEFAULTS_ENABLES_MONITOR_SETTINGS flag, this function also enables all of the monitor settings that are supported by the high-level functions. It is sometimes possible for an application to disable certain settings by calling the low-level functions. It is also possible for the user to disable certain settings by adjusting settings on the monitor's physical control panel. If that happens, the setting can only be re-enabled through the control panel or by calling RestoreMonitorFactoryDefaults. It is not possible to disable any settings by using the high-level functions.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### GetVCPFeatureAndVCPFeatureReply

    WinDef.BOOL GetVCPFeatureAndVCPFeatureReply​(WinNT.HANDLE hMonitor,
                                                WinDef.BYTE bVCPCode,
                                                LowLevelMonitorConfigurationAPI.MC_VCP_CODE_TYPE.ByReference pvct,
                                                WinDef.DWORDByReference pdwCurrentValue,
                                                WinDef.DWORDByReference pdwMaximumValue)

Retrieves the current value, maximum value, and code type of a Virtual Control Panel (VCP) code for a monitor. This function corresponds to the "Get VCP Feature & VCP Feature Reply" command from the Display Data Channel Command Interface (DDC/CI) standard. Vendor-specific VCP codes can be used with this function. This function takes about 40 milliseconds to return.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
  `bVCPCode` - VCP code to query. The VCP codes are Include the VESA Monitor Control Command Set (MCCS) standard, versions 1.0 and 2.0. This parameter must specify a continuous or non-continuous VCP, or a vendor-specific code. It should not be a table control code.
  `pvct` - Receives the VCP code type, as a member of the MC_VCP_CODE_TYPE enumeration. This parameter can be NULL.
  `pdwCurrentValue` - Receives the current value of the VCP code. This parameter can be NULL.
  `pdwMaximumValue` - If bVCPCode specifies a continuous VCP code, this parameter receives the maximum value of the VCP code. If bVCPCode specifies a non-continuous VCP code, the value received in this parameter is undefined. This parameter can be NULL.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### SetVCPFeature

    WinDef.BOOL SetVCPFeature​(WinNT.HANDLE hMonitor,
                              WinDef.BYTE bVCPCode,
                              WinDef.DWORD dwNewValue)

Sets the value of a Virtual Control Panel (VCP) code for a monitor. This function corresponds to the "Set VCP Feature" command from the Display Data Channel Command Interface (DDC/CI) standard. This function takes about 50 milliseconds to return.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
  `bVCPCode` - VCP code to set. The VCP codes are defined in the VESA Monitor Control Command Set (MCCS) standard, version 1.0 and 2.0. This parameter must specify a continuous or non-continuous VCP, or a vendor-specific code. It should not be a table control code.
  `dwNewValue` - Value of the VCP code.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### SaveCurrentSettings

    WinDef.BOOL SaveCurrentSettings​(WinNT.HANDLE hMonitor)

Saves the current monitor settings to the display's nonvolatile storage. This function corresponds to the "Save Current Settings" function from the Display Data Channel Command Interface (DDC/CI) standard. This function takes about 200 milliseconds to return. This low-level function is identical to the high-level function SaveCurrentMonitorSettings.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### GetCapabilitiesStringLength

    WinDef.BOOL GetCapabilitiesStringLength​(WinNT.HANDLE hMonitor,
                                            WinDef.DWORDByReference pdwCapabilitiesStringLengthInCharacters)

Retrieves the length of a monitor's capabilities string. This function usually returns quickly, but sometimes it can take several seconds to complete.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
  `pdwCapabilitiesStringLengthInCharacters` - Receives the length of the capabilities string, in characters, including the terminating null character.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### CapabilitiesRequestAndCapabilitiesReply

    WinDef.BOOL CapabilitiesRequestAndCapabilitiesReply​(WinNT.HANDLE hMonitor,
                                                        WTypes.LPSTR pszASCIICapabilitiesString,
                                                        WinDef.DWORD dwCapabilitiesStringLengthInCharacters)

Retrieves a string describing a monitor's capabilities. This function corresponds to the "Capabilities Request & Capabilities Reply" command from the Display Data Channel Command Interface (DDC/CI) standard. For more information about the capabilities string, refer to the DDC/CI standard. This function usually returns quickly, but sometimes it can take several seconds to complete. You can update a monitor's capabilities string by adding an AddReg directive to the monitor's INF file. Add a registry key named "CapabilitiesString" to the monitor's driver key. The value of the registry key is the capabilities string. The registry data type is REG_SZ.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
  `pszASCIICapabilitiesString` - Pointer to a buffer that receives the monitor's capabilities string. The caller must allocate this buffer. To get the size of the string, call GetCapabilitiesStringLength. The capabilities string is always an ASCII string. The buffer must include space for the terminating null character.
  `dwCapabilitiesStringLengthInCharacters` - Size of pszASCIICapabilitiesString in characters, including the terminating null character.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### GetTimingReport

    WinDef.BOOL GetTimingReport​(WinNT.HANDLE hMonitor,
                                LowLevelMonitorConfigurationAPI.MC_TIMING_REPORT pmtrMonitorTimingReport)

Retrieves a monitor's horizontal and vertical synchronization frequencies.

Parameters:
  `hMonitor` - Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR
  `pmtrMonitorTimingReport` - Pointer to an MC_TIMING_REPORT structure that receives the timing information.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE.

#### GetNumberOfPhysicalMonitorsFromHMONITOR

    WinDef.BOOL GetNumberOfPhysicalMonitorsFromHMONITOR​(WinUser.HMONITOR hMonitor,
                                                        WinDef.DWORDByReference pdwNumberOfPhysicalMonitors)

Retrieves the number of physical monitors associated with an HMONITOR monitor handle. Call this function before calling GetPhysicalMonitorsFromHMONITOR.

Parameters:
  `hMonitor` - A monitor handle. Monitor handles are returned by several Multiple Display Monitor functions, including EnumDisplayMonitors and MonitorFromWindow, which are part of the graphics device interface (GDI).
  `pdwNumberOfPhysicalMonitors` - Receives the number of physical monitors associated with the monitor handle.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### GetPhysicalMonitorsFromHMONITOR

    WinDef.BOOL GetPhysicalMonitorsFromHMONITOR​(WinUser.HMONITOR hMonitor,
                                                int dwPhysicalMonitorArraySize,
                                                PhysicalMonitorEnumerationAPI.PHYSICAL_MONITOR[] pPhysicalMonitorArray)

Retrieves the physical monitors associated with an HMONITOR monitor handle. A single HMONITOR handle can be associated with more than one physical monitor. This function returns a handle and a text description for each physical monitor. When you are done using the monitor handles, close them by passing the pPhysicalMonitorArray array to the DestroyPhysicalMonitors function.

Parameters:
  `hMonitor` - A monitor handle. Monitor handles are returned by several Multiple Display Monitor functions, including EnumDisplayMonitors and MonitorFromWindow, which are part of the graphics device interface (GDI).
  `dwPhysicalMonitorArraySize` - Number of elements in pPhysicalMonitorArray. To get the required size of the array, call GetNumberOfPhysicalMonitorsFromHMONITOR.
  `pPhysicalMonitorArray` - Pointer to an array of PHYSICAL_MONITOR structures. The caller must allocate the array.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### DestroyPhysicalMonitor

    WinDef.BOOL DestroyPhysicalMonitor​(WinNT.HANDLE hMonitor)

Closes a handle to a physical monitor. Call this function to close a monitor handle obtained from the GetPhysicalMonitorsFromHMONITOR

Parameters:
  `hMonitor` - Handle to a physical monitor.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE

#### DestroyPhysicalMonitors

    WinDef.BOOL DestroyPhysicalMonitors​(int dwPhysicalMonitorArraySize,
                                        PhysicalMonitorEnumerationAPI.PHYSICAL_MONITOR[] pPhysicalMonitorArray)

Closes an array of physical monitor handles. Call this function to close an array of monitor handles obtained from the GetPhysicalMonitorsFromHMONITOR

Parameters:
  `dwPhysicalMonitorArraySize` - Number of elements in the pPhysicalMonitorArray array.
  `pPhysicalMonitorArray` - Pointer to an array of PHYSICAL_MONITOR structures.
Returns:
  If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE