D3DWDDM2_0DDI_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA structure

D3DWDDM2_0DDI_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA is used with D3DWDDM2_0DDI_KEY_EXCHANGE_HW_PROTECTION_DATA in the implementation of Digital Rights Management (DRM).

Syntax

typedef struct D3DWDDM2_0DDI_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA {
  UINT   PrivateDataSize;
  UINT   MaxHWProtectionDataSize;
  UINT   HWProtectionDataSize;
  UINT64 TransportTime;
  UINT64 ExecutionTime;
  BYTE   pbOutput[4];
} D3DWDDM2_0DDI_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA;

Members

PrivateDataSize

Contains the size of the private data reserved for IHV usage. This size is determined from the pPrivateInputSize member returned by GetCryptoSessionPrivateDataSize.

MaxHWProtectionDataSize

The maximum size of data that the driver can return in the output buffer. The last byte that it can write to is pbOuput[PrivateDataSize + MaxHWProtectionDataSize – 1].

HWProtectionDataSize

Returns the size of the output data written by the driver.

TransportTime

Returns the number of 100 nanosecond units spent transporting the data.

ExecutionTime

Returns the number of 100 nanosecond units spent executing the content protection command.

pbOutput

If PrivateDataSize is greater than 0, pbOutput[0] – pbOutput[PrivateDataSize - 1] is reserved for IHV use.

pbOutput[PrivateDataSize] – pbOutput[MaxHWProtectionDataSize + PrivateDataSize - 1] contains the region into which the driver should return the output data from the DRM command. The format and size of the DRM command is defined by the DRM specification.

Requirements

   
Minimum supported client Windows 10
Minimum supported server Windows Server 2016
Header d3d10umddi.h (include D3d10umddi.h)

See Also

D3DWDDM2_0DDI_KEY_EXCHANGE_HW_PROTECTION_DATA

GetCryptoSessionPrivateDataSize

NegotiateCryptoSessionKeyExchange