IDirect3DCryptoSession9::NegotiateKeyExchange method (d3d9.h)
Establishes the session key for the cryptographic session.
Syntax
HRESULT NegotiateKeyExchange(
UINT DataSize,
VOID *pData
);
Parameters
DataSize
The size of the pData byte array, in bytes.
pData
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.
Remarks
To find out which key-exchange mechanism to use, call the IDirect3DDevice9Video::GetContentProtectionCaps method. The key-exchange mechanism is specified in the KeyExchangeType member of the D3DCONTENTPROTECTIONCAPS structure. If the value is D3DKEYEXCHANGE_RSAES_OAEP, use RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP) to encrypt the session key. Pass this encrypted cyphertext in the pData parameter.
If the key-exchange type is D3DKEYEXCHANGE_DXVA, do not call this method to establish the session key. Instead, use the key-exchange mechanism that is defined for DirectX Video Acceleration 2 (DXVA-2) decoding.
The driver might also use a proprietary key-exchange mechanism.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps only] |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Target Platform | Windows |
Header | d3d9.h |