DXGKMDT_OPM_CONFIGURE_PARAMETERS structure (d3dkmdt.h)

The DXGKMDT_OPM_CONFIGURE_PARAMETERS structure contains parameters that are used to configure a protected output object in a call to the DxgkDdiOPMConfigureProtectedOutput function.

Syntax

typedef struct _DXGKMDT_OPM_CONFIGURE_PARAMETERS {
  DXGKMDT_OPM_OMAC omac;
  GUID             guidSetting;
  ULONG            ulSequenceNumber;
  ULONG            cbParametersSize;
  BYTE             abParameters[DXGKMDT_OPM_CONFIGURE_SETTING_DATA_SIZE];
} DXGKMDT_OPM_CONFIGURE_PARAMETERS, *PDXGKMDT_OPM_CONFIGURE_PARAMETERS;

Members

omac

A DXGKMDT_OPM_OMAC structure that contains a One-key Cipher Block Chaining (CBC)-mode message authentication code (OMAC) for message authenticity. For more information about OMAC, see the OMAC-1 algorithm. The OMAC-1 parameters that OPM and COPP use are:

E = AES (Advanced Encryption Standard)

t = 128 bits

K = The 128-bit key the display miniport driver receives when DxgkDdiOPMSetSigningKeyAndSequenceNumbers is called.

n = 128 bits

For information about AES, see the RSA Laboratories website.

guidSetting

The GUID that is used to configure the protected output object. guidSetting can be set to one of the following GUIDs:

  • DXGKMDT_OPM_SET_PROTECTION_LEVEL
  • DXGKMDT_OPM_SET_ACP_AND_CGMSA_SIGNALING
  • DXGKMDT_OPM_SET_HDCP_SRM
  • DXGKMDT_OPM_SET_PROTECTION_LEVEL_ACCORDING_TO_CSS_DVD. Supported in Windows 7 and later versions.

ulSequenceNumber

A sequence number. For the DxgkDdiOPMConfigureProtectedOutput function to process a configure request, the value in ulSequenceNumber must match the current 4-byte sequence number that the display miniport driver stores. If a match is not detected, DxgkDdiOPMConfigureProtectedOutput returns an error code. If a match is detected, DxgkDdiOPMConfigureProtectedOutput increments the stored sequence number before returning. The initial 4-byte sequence number is part of the 256-byte array that the EncryptedParameters parameter of the DxgkDdiOPMSetSigningKeyAndSequenceNumbers function points to.

cbParametersSize

The size, in bytes, of the valid configuration data that the abParameters member points to.

abParameters[DXGKMDT_OPM_CONFIGURE_SETTING_DATA_SIZE]

A 4056-byte array that specifies how to configure the protected output object.

The abParameters parameter is cast to one of the following structures that contains the configuration information, depending on the GUID that is specified in the guidSetting member of DXGKMDT_OPM_CONFIGURE_PARAMETERS that the Parameters parameter of DxgkDdiOPMConfigureProtectedOutput points to.

These are possible GUIDs and structures for configuration information:

GUID Structure for retrieved information
DXGKMDT_OPM_SET_PROTECTION_LEVEL or DXGKMDT_OPM_SET_PROTECTION_LEVEL_ACCORDING_TO_CSS_DVD DXGKMDT_OPM_SET_PROTECTION_LEVEL_PARAMETERS
DXGKMDT_OPM_SET_ACP_AND_CGMSA_SIGNALING DXGKMDT_OPM_SET_ACP_AND_CGMSA_SIGNALING_PARAMETERS
DXGKMDT_OPM_SET_HDCP_SRM DXGKMDT_OPM_SET_HDCP_SRM_PARAMETERS

Requirements

Requirement Value
Minimum supported client Windows Vista
Header d3dkmdt.h

See also

DXGKMDT_OPM_OMAC

DXGKMDT_OPM_SET_ACP_AND_CGMSA_SIGNALING_PARAMETERS

DXGKMDT_OPM_SET_HDCP_SRM_PARAMETERS

DXGKMDT_OPM_SET_PROTECTION_LEVEL_PARAMETERS

DxgkDdiOPMConfigureProtectedOutput

DxgkDdiOPMSetSigningKeyAndSequenceNumbers