Sending COPP Commands
[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.]
To send a Certified Output Protection Protocol (COPP) command, fill in an AMCOPPCommand structure as follows:
- guidCommandID. The GUID that identifies the command. See the COPP Command Reference.
- dwSequence. The command sequence number. Increment this value after each command. (This value is shown as uCommandSeq in Initiating a COPP Session.)
- cbSizeData. The size, in bytes, of any data needed for the command.
- CommandData. Data for the command.
After you have filled in this data, calculate the MAC for the command:
- Calculate the OMAC-1 tag for the block of data that appears after the macKDI member of the AMCOPPCommand structure.
- Copy this value into the macKDI member of the structure.
Now pass the structure to the IAMCertifiedOutputProtection::ProtectionCommand method.
Related topics