GetVCPFeatureAndVCPFeatureReply function

Retrieves the current value, maximum value, and code type of a Virtual Control Panel (VCP) code for a monitor.


BOOL GetVCPFeatureAndVCPFeatureReply(
  _In_   HANDLE hMonitor,
  _In_   BYTE bVCPCode,
  _Out_  LPMC_VCP_CODE_TYPE pvct,
  _Out_  LPDWORD pdwCurrentValue,
  _Out_  LPDWORD pdwMaximumValue


hMonitor [in]

Handle to a physical monitor. To get the monitor handle, call GetPhysicalMonitorsFromHMONITOR or GetPhysicalMonitorsFromIDirect3DDevice9.

bVCPCode [in]

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 [out]

Receives the VCP code type, as a member of the MC_VCP_CODE_TYPE enumeration. This parameter can be NULL.

pdwCurrentValue [out]

Receives the current value of the VCP code. This parameter can be NULL.

pdwMaximumValue [out]

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.

Return value

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.


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.


Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]







See also

Monitor Configuration Functions



Community Additions