Skip to main content
ID3D11VideoContext::NegotiateCryptoSessionKeyExchange method

Establishes the session key for a cryptographic session.


HRESULT NegotiateCryptoSessionKeyExchange(
  [in]      ID3D11CryptoSession *pCryptoSession,
  [in]      UINT                *DataSize,
  [in, out] void                pData


pCryptoSession [in]

A pointer to the ID3D11CryptoSession interface of the cryptographic session.

DataSize [in]

The size of the pData byte array, in bytes.

pData [in, out]

A pointer to a byte array that contains the encrypted session key.

Return value

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.


The key exchange mechanism depends on the type of cryptographic session.

For RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP), the software decoder generates the secret key, encrypts the secret key by using the public key with RSAES-OAEP, and places the cipher text in the pData parameter. The actual size of the buffer for RSAES-OAEP is 256 bytes.


Minimum supported client

Windows 8 [desktop apps | UWP apps]

Minimum supported server

Windows Server 2012 [desktop apps | UWP apps]

Minimum supported phone

Windows Phone 8



See also