IAMCertifiedOutputProtection::SessionSequenceStart method

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

Syntax


HRESULT SessionSequenceStart(
  [in] AMCOPPSignature *pSig
);

Parameters

pSig [in]

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 codeDescription
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

Minimum supported client

Windows XP with SP2 [desktop apps only]

Minimum supported server

Windows Server 2003 R2 [desktop apps only]

Header

Strmif.h (include Dshow.h)

Library

Strmiids.lib

See also

IAMCertifiedOutputProtection Interface
Using Certified Output Protection Protocol (COPP)

 

 

Show: