DXGKMDT_OPM_GET_INFO_PARAMETERS structure (d3dkmdt.h)

The DXGKMDT_OPM_GET_INFO_PARAMETERS structure contains parameters that are used to retrieve information from a protected output object in a call to the DxgkDdiOPMGetInformation function.

Syntax

typedef struct _DXGKMDT_OPM_GET_INFO_PARAMETERS {
  DXGKMDT_OPM_OMAC          omac;
  DXGKMDT_OPM_RANDOM_NUMBER rnRandomNumber;
  GUID                      guidInformation;
  ULONG                     ulSequenceNumber;
  ULONG                     cbParametersSize;
  BYTE                      abParameters[DXGKMDT_OPM_GET_INFORMATION_PARAMETERS_SIZE];
} DXGKMDT_OPM_GET_INFO_PARAMETERS, *PDXGKMDT_OPM_GET_INFO_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 that the display miniport driver receives when DxgkDdiOPMSetSigningKeyAndSequenceNumbers is called.

n = 128 bits

For information about AES, see the RSA Laboratories website.

rnRandomNumber

A DXGKMDT_OPM_RANDOM_NUMBER structure that contains a protected output object's 128-bit cryptographically secure random number. This random number is generated by an application and supplied to the display miniport driver in rnRandomNumber in a call to the driver's DxgkDdiOPMGetInformation function.

guidInformation

The GUID that is used to retrieve the information. guidInformation can be set to one of the following GUIDs:

  • DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION
  • DXGKMDT_OPM_GET_CONNECTOR_TYPE
  • DXGKMDT_OPM_GET_SUPPORTED_PROTECTION_TYPES
  • DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL
  • DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL
  • DXGKMDT_OPM_GET_ACTUAL_OUTPUT_FORMAT
  • DXGKMDT_OPM_GET_ADAPTER_BUS_TYPE
  • DXGKMDT_OPM_GET_DVI_CHARACTERISTICS. Supported in Windows 7 and later versions.
  • DXGKMDT_OPM_GET_OUTPUT_ID. Supported in Windows 7 and later versions.

ulSequenceNumber

A sequence number. For the DxgkDdiOPMGetInformation function to process an information 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, DxgkDdiOPMGetInformation returns an error code. If a match is detected, DxgkDdiOPMGetInformation increments the stored sequence number before returning. The initial 4-byte sequence number was part of the 256-byte array that the EncryptedParameters parameter of the DxgkDdiOPMSetSigningKeyAndSequenceNumbers function pointed to.

cbParametersSize

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

abParameters[DXGKMDT_OPM_GET_INFORMATION_PARAMETERS_SIZE]

A 4056-byte array that contains the data that accompanies the information request that is identified by the guidInformation member.

No data is required for the DXGKMDT_OPM_GET_CONNECTOR_TYPE, DXGKMDT_OPM_GET_SUPPORTED_PROTECTION_TYPES, DXGKMDT_OPM_GET_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_GET_ADAPTER_BUS_TYPE, DXGKMDT_OPM_GET_DVI_CHARACTERISTICS, DXGKMDT_OPM_GET_OUTPUT_ID, and DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION requests.

The DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL and DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL requests require data that identifies the protection type that the protection level is requested for. Therefore, these requests require that the first 4 bytes in the abParameters array contain the protection type.

Remarks

All of the data after the omac member in DXGKMDT_OPM_GET_INFO_PARAMETERS is signed; the signature is the OMAC and is stored in the omac member. The data is signed by using the OMAC-1 algorithm.

DXGKMDT_OPM_GET_INFO_PARAMETERS is not used for COPP emulation; instead, the DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS structure is used for COPP.

Requirements

Requirement Value
Minimum supported client Windows Vista
Header d3dkmdt.h

See also

DXGKMDT_OPM_OMAC

DXGKMDT_OPM_RANDOM_NUMBER

DxgkDdiOPMGetInformation

DxgkDdiOPMSetSigningKeyAndSequenceNumbers