IAMCertifiedOutputProtection::SessionSequenceStart method (strmif.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The SessionSequenceStart method initiates the COPP session with the graphics driver.

Syntax

HRESULT SessionSequenceStart(
  [in] AMCOPPSignature *pSig
);

Parameters

[in] pSig

Pointer to an AMCOPPSignature structure. Fill this structure as described in the Remarks session.

Return value

Returns an HRESULT value. Possible values include the following.

Return code Description
S_OK
Success.
E_UNEXPECTED
Invalid state. Possibly the application passed unexpected data, or called IAMCertifiedOutputProtection methods in the wrong order.
VFW_E_NO_COPP_HW
The display device does not support COPP; or the VMR has not connected to a display device yet.

Remarks

To fill in the structure for the pSig parameter, first concatenate the following numbers:

  • The 128-bit number returned in the pRandom parameter of the IAMCertifiedOutputProtection::KeyExchange method.
  • Data integrity session key. This value is a 128-bit random number generated by the application.
  • Starting sequence number for COPP status requests. This value is a 32-bit random number generated by the application.
  • Starting sequence number for COPP commands. This value is a 32-bit random number generated by the application.
Then encrypt this number with 2048-bit RSA encryption using the graphics driver's public encryption key. The public encryption key is contained in the certificate returned in the VarLenCertGH parameter of the KeyExchange method.

Requirements

Requirement Value
Minimum supported client Windows XP with SP2 [desktop apps only]
Minimum supported server Windows Server 2003 R2 [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

IAMCertifiedOutputProtection Interface

Using Certified Output Protection Protocol (COPP)