GetCryptoKeyExchangeType routine

Queries the type of key exchange that is supported by the cryptographic engine of the display adapter for a specified encryption algorithm and video decoder profile.


HRESULT APIENTRY* GetCryptoKeyExchangeType(
  _In_        D3D10DDI_HDEVICE hDevice,
  _In_  const GUID             *pCryptoType,
  _In_  const GUID             *pDecodeProfile,
  _In_        UINT             Index,
  _Out_       GUID             *pKeyExchangeType


hDevice [in]

A handle to the display device (graphics context).

pCryptoType [in]

A pointer to a GUID that specifies the type of encryption algorithm to query.

pDecodeProfile [in]

A pointer to a GUID that specifies the decoder profile to query.

Index [in]

The zero-based index of the key exchange type.

pKeyExchangeType [out]

A pointer to a GUID that specifies the supported key exchange type for the specified index.

Return value

GetCryptoKeyExchangeType returns one of the following values:

Return codeDescription

The content protection capabilities were queried successfully.


The encryption algorithm specified by the pCryptoType parameter is not supported.



The GetCryptoKeyExchangeType function can be called to query the key exchange types for any index from 0 to (D3D11_1DDI_VIDEO_CONTENT_PROTECTION_CAPS.KeyExchangeTypeCount– 1).

The pCryptoType parameter can contain one of the following values:

  • D3DCRYPTOTYPE_AES128_CTR if the driver is configured to use the 128-bit Advanced Encryption Standard CTR mode (AES-CTR) block cipher.

  • D3DCRYPTOTYPE_PROPRIETARY if the driver is configured to use a proprietary encryption algorithm.

  • NULL_GUID if the driver is not configured to use any encryption algorithm.

Note  The Microsoft Direct3D runtime verifies that the pDecodeProfile, pCryptoType, and Index parameter data is valid before it calls the GetCryptoKeyExchangeType function.


Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Target platform


D3d10umddi.h (include D3d10umddi.h)

See also




Send comments about this topic to Microsoft