IAMCertifiedOutputProtection::SessionSequenceStart

 
Microsoft DirectShow 9.0

IAMCertifiedOutputProtection::SessionSequenceStart

This topic applies only to Windows XP Service Pack 2 or later.

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

Syntax

  HRESULT SessionSequenceStart(
    AMCOPPSignature *pSig
);

Parameters

pSig

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

Return Values

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

Header: Declared in Strmif.h; include Dshow.h.

Library: Use Strmiids.lib.

See Also