// d3dkmdt.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The DXGKMDT_OPM_CONFIGURE_PARAMETERS structure contains parameters that are used to configure a protected output object in a call to the DxgkDdiOPMConfigureProtectedOutput function.
omacA 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.
guidSettingThe GUID that is used to configure the protected output object. guidSetting can be set to one of the following GUIDs:
ulSequenceNumberA 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.
cbParametersSizeThe size, in bytes, of the valid configuration data that the abParameters member points to.
abParametersA 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 |
DXGKMDT_OPM_SET_ACP_AND_CGMSA_SIGNALING_PARAMETERS
DXGKMDT_OPM_SET_HDCP_SRM_PARAMETERS
DXGKMDT_OPM_SET_PROTECTION_LEVEL_PARAMETERS
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMSetSigningKeyAndSequenceNumbers