Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

IMFContentProtectionManager interface

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.


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


The IMFContentProtectionManager interface has these methods.


Begins an asynchronous request to perform a content enabling action.


Ends an asynchronous request to perform a content enabling action.


Remotable version of BeginEnableContent. (Not used by applications.)


Remotable version of EndEnableContent. (Not used by applications.)



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 to user to opt in or out of the process.


Minimum supported client

Windows Vista [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2008 [desktop apps | Windows Store apps]





See also

Media Foundation Interfaces



© 2017 Microsoft