IMFContentProtectionManager interface (mfidl.h)

Enables playback of protected content by providing the application with a pointer to a content enabler object.

Applications that play protected content should implement this interface.

Inheritance

The IMFContentProtectionManager interface inherits from the IUnknown interface. IMFContentProtectionManager also has these types of members:

Methods

The IMFContentProtectionManager interface has these methods.

 
IMFContentProtectionManager::BeginEnableContent

Begins an asynchronous request to perform a content enabling action.
IMFContentProtectionManager::EndEnableContent

Ends an asynchronous request to perform a content enabling action. This method is called by the protected media path (PMP) to complete an asynchronous call to IMFContentProtectionManager::BeginEnableContent.

Remarks

A content enabler is an object that performs some action that is required to play a piece of protected content. For example, the action might be obtaining a DRM license. Content enablers expose the IMFContentEnabler interface, which defines a generic mechanism for content enabler. Content enablers are created inside the protected media path (PMP) process. However, they must be invoked from the application process. Therefore, the IMFContentProtectionManager interface provides a way for the PMP Media Session to notify the application.

To use this interface, do the following:

  1. Implement the interface in your application.
  2. Create an attribute store by calling MFCreateAttributes.
  3. Set the MF_SESSION_CONTENT_PROTECTION_MANAGER attribute on the attribute store. The attribute value is a pointer to your IMFContentProtectionManager implementation.
  4. Call MFCreatePMPMediaSession and pass the attribute store in the pConfiguration parameter.
If the content requires a content enabler, the application's BeginEnableContent method is called. Usually this method called during the IMFMediaSession::SetTopology operation, before the Media Session raises the MESessionTopologySet event. The application might receive multiple BeginEnableContent calls for a single piece of content. The MESessionTopologySet event signals that the content-enabling process is complete for the current topology. The BeginEnableContent method can also be called outside of the SetTopology operation, but less commonly.

Many content enablers send machine-specific data to the network, which can have privacy implications. One of the purposes of the IMFContentProtectionManager interface is to give applications an opportunity to display information to the user and enable users to opt in or out of the process.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps | UWP apps]
Minimum supported server Windows Server 2008 [desktop apps | UWP apps]
Target Platform Windows
Header mfidl.h

See also

Media Foundation Interfaces