Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Retrieves optional sizes for private driver data.
Syntax
HRESULT GetCryptoSessionPrivateDataSize(
[in] const GUID *pCryptoType,
[in, optional] const GUID *pDecoderProfile,
[in] const GUID *pKeyExchangeType,
[out] UINT *pPrivateInputSize,
[out] UINT *pPrivateOutputSize
);
Parameters
[in] pCryptoType
Type: const GUID*
Indicates the crypto type for which the private input and output size is queried.
[in, optional] pDecoderProfile
Type: const GUID*
Indicates the decoder profile for which the private input and output size is queried.
[in] pKeyExchangeType
Type: const GUID*
Indicates the key exchange type for which the private input and output size is queried.
[out] pPrivateInputSize
Type: UINT*
Returns the size of private data that the driver needs for input commands.
[out] pPrivateOutputSize
Type: UINT*
Returns the size of private data that the driver needs for output commands.
Return value
Type: HRESULT
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
When pKeyExchangeType is D3D11_KEY_EXCHANGE_HW_PROTECTION, the following behavior is expected in the ID3D11VideoContext::NegotiateCryptoSessionKeyExchange method:
- The DataSize parameter is set to the size of the D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA structure.
- pData points to a D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA structure.
- The pInputData of this structure points to a D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA structure where:
- pbInput[0] – pbInput[N-1] contains memory reserved for use by the driver. The number of bytes (N) reserved for the driver is determined by the pPrivateInputSize value returned by the ID3D11VideoDevice1::GetCryptoSessionPrivateDataSize function.
- pbInput[N] contains the first byte of the DRM command packet.
- The pOutputData of this structure points to a D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA structure where:
- pbOutput[0] – pbOutput[N-1] contains memory reserved for use by the driver. The number of bytes (N) reserved for the driver is determined by the pPrivateOutputSize value returned by the ID3D11VideoDevice1::GetCryptoSessionPrivateDataSize function.
- pbOutput[N] contains the first byte of the DRM command packet.
- The pInputData of this structure points to a D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA structure where:
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 [desktop apps only] |
Minimum supported server | Windows Server 2016 [desktop apps only] |
Target Platform | Windows |
Header | d3d11_1.h |