IMFContentProtectionManager::BeginEnableContent method (mfidl.h)

Begins an asynchronous request to perform a content enabling action.

This method requests the application to perform a specific step needed to acquire rights to the content, using a content enabler object.

Syntax

HRESULT BeginEnableContent(
  [in] IMFActivate      *pEnablerActivate,
  [in] IMFTopology      *pTopo,
  [in] IMFAsyncCallback *pCallback,
  [in] IUnknown         *punkState
);

Parameters

[in] pEnablerActivate

Pointer to the IMFActivate interface of a content enabler object. To create the content enabler, call IMFActivate::ActivateObject and request the IMFContentEnabler interface. The application should use the methods in IMFContentEnabler to complete the content enabling action.

[in] pTopo

Pointer to the IMFTopology interface of the pending topology.

[in] pCallback

Pointer to the IMFAsyncCallback interface of a callback object. When the operation is complete, the application should call IMFAsyncCallback::Invoke on the callback.

[in] punkState

Reserved. Currently this parameter is always NULL.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.

Remarks

Do not block within this callback method. Instead, perform the content enabling action asynchronously on another thread. When the operation is finished, notify the protected media path (PMP) through the pCallback parameter.

If you return a success code from this method, you must call Invoke on the callback. Conversely, if you return an error code from this method, you must not call Invoke. If the operation fails after the method returns a success code, use status code on the IMFAsyncResult object to report the error.

After the callback is invoked, the PMP will call the application's IMFContentProtectionManager::EndEnableContent method to complete the asynchronous call.

This method is not necessarily called every time the application plays protected content. Generally, the method will not be called if the user has a valid, up-to-date license for the content. Internally, the input trust authority (ITA) determines whether BeginEnableContent is called, based on the content provider's DRM policy. For more information, see Protected Media Path.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header mfidl.h
Library Mfuuid.lib

See also

IMFActivate

IMFContentProtectionManager