COPP Status

This section applies only to Windows Server 2003 SP1 and later, and Windows XP SP2 and later.

The video miniport driver can receive a request for COPP status on the physical connector associated with the DirectX VA COPP device.

The video miniport driver's COPPQueryStatus function is passed a pointer to a DXVA_COPPStatusInput structure that contains the request. COPPQueryStatus writes the status to the DXVA_COPPStatusOutput structure to which the pOutput parameter points. The guidStatusRequestID and StatusData members of DXVA_COPPStatusInput specify the status request. Depending on the request, the video miniport driver should cast the status information to a pointer to a DXVA_COPPStatusData, DXVA_COPPStatusDisplayData, DXVA_COPPStatusHDCPKeyData, or DXVA_COPPStatusSignalingCmdData structure. The video miniport driver should then copy the status information to the COPPStatus array member of DXVA_COPPStatusOutput.

Note   The driver must return the 128-bit random number used once in the rApp member of DXVA_COPPStatusData, DXVA_COPPStatusDisplayData, DXVA_COPPStatusHDCPKeyData, or DXVA_COPPStatusSignalingCmdData. The 128-bit random number was generated by the sending application and was provided in the rApp member of DXVA_COPPStatusInput.

The driver returns the following status data for the indicated request:

  • For DXVA_COPPQueryProtectionType set in guidStatusRequestID and nothing set in StatusData, returns a valid ORed combination of the following values in the dwData member of DXVA_COPPStatusData that indicate the available types of protection mechanisms on the physical connector associated with the COPP device:

    • COPP_ProtectionType_Unknown
    • COPP_ProtectionType_None
    • COPP_ProtectionType_HDCP
    • COPP_ProtectionType_ACP
    • COPP_ProtectionType_CGMSA
  • For DXVA_COPPQueryConnectorType set in guidStatusRequestID and nothing set in StatusData, returns one of the following values in the dwData member of DXVA_COPPStatusData that identifies the type of physical connector the video session uses:

    • COPP_ConnectorType_Unknown
    • COPP_ConnectorType_VGA
    • COPP_ConnectorType_SVideo
    • COPP_ConnectorType_CompositeVideo
    • COPP_ConnectorType_ComponentVideo
    • COPP_ConnectorType_DVI
    • COPP_ConnectorType_HDMI
    • COPP_ConnectorType_LVDS
    • COPP_ConnectorType_TMDS
    • COPP_ConnectorType_D_JPN

    The driver can also combine the COPP_ConnectorType_Internal (0x80000000) value with one of the preceding connector-type values to indicate that the connection between the graphics adapter and display monitor is permanent and not accessible from the outside of a non-user-serviceable enclosure.

  • For DXVA_COPPQueryLocalProtectionLevel or DXVA_COPPQueryGlobalProtectionLevel set in guidStatusRequestID and the protection type set in StatusData, returns a protection-level value in the dwData member of DXVA_COPPStatusData. For possible protection levels, see COPP Commands. The DXVA_COPPQueryLocalProtectionLevel request returns the currently set protection level for the video session. The DXVA_COPPQueryGlobalProtectionLevel request returns the currently set protection level for the physical connector.

    The COPP status query might also request that the video miniport driver retrieve some extended information.

  • For DXVA_COPPQueryBusData set in guidStatusRequestID and nothing in StatusData, returns one of the following values in the dwData member of DXVA_COPPStatusData that identifies the type of bus used by the graphics hardware:

    • COPP_BusType_Unknown
    • COPP_BusType_PCI
    • COPP_BusType_PCIX
    • COPP_BusType_PCIExpress
    • COPP_BusType_AGP

    The driver can only combine the COPP_BusType_Integrated (0x80000000) value with one of the preceding bus-type values when none of the command and status interface signals between the graphics adapter and other subsystems are available on an expansion bus that uses a publicly available specification and standard connector type. Memory buses are excluded from this definition.

  • For DXVA_COPPQueryDisplayData set in guidStatusRequestID and nothing set in StatusData, returns information in a DXVA_COPPStatusDisplayData structure that describes the display mode of the signal that is transmitted over the connector associated with a DirectX VA COPP device.

  • For DXVA_COPPQueryHDCPKeyData set in guidStatusRequestID and nothing set in StatusData, returns information in a DXVA_COPPStatusHDCPKeyData structure that describes a High-bandwidth Digital Content Protection (HDCP) key selection vector (KSV).

  • For DXVA_COPPQuerySignaling set in guidStatusRequestID and nothing set in StatusData, returns information in a DXVA_COPPStatusSignalingCmdData structure that describes how the signal that goes through the physical connector associated with the DirectX VA COPP device is protected.

    The COPP status query might also request that the video miniport driver retrieve some extended information.