Expand Minimize

MFPKEY_PMP_Creation_Callback property

Sets a callback that creates the PMP Media Session during source resolution.

Data typePROPVARIANT type (vt)PROPVARIANT member
IUnknown*VT_UNKNOWNpunkVal

Remarks

Some protected content might require the use of this property. If so, the source resolution process fails with the error code MF_E_RESOLUTION_REQUIRES_PMP_CREATION_CALLBACK.

To use this property, do the following.

  1. Call PSCreateMemoryPropertyStore to create a property store.
  2. Implement the IMFAsyncCallback callback interface.
  3. Set the MFPKEY_PMP_Creation_Callback property on the property store. The value is a pointer to the IMFAsyncCallback implementation.
  4. Call IMFSourceResolver::BeginCreateObjectFromURL. Pass in a pointer to the property store in the pProps parameter.

In the IMFAsyncCallback::Invoke method of your callback interface, do the following.

  1. Call MFCreatePMPMediaSession to create the PMP Media Session.
  2. Call IMFGetService::GetService on the PMP Media Session to a pointer to the IMFPMPHost interface.
  3. Call IMFAsyncResult::GetState on the result object that is passed in the pAsyncResult parameter of IMFAsyncCallback::Invoke. Query the returned IUnknown pointer for the IMFAsyncCallback interface.
  4. Call MFPutWorkItem with the following parameters:
    • dwQueue: MFASYNC_CALLBACK_QUEUE_STANDARD
    • pCallback: The IMFAsyncCallback pointer obtained in step 3.
    • pState: The IMFPMPHost pointer obtained in step 2.

Requirements

Minimum supported client

Windows 8 [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2012 [desktop apps | Windows Store apps]

Header

Mfidl.h

See also

PMP Media Session
Protected Media Path
Source Resolver

 

 

Community Additions

ADD
Show:
© 2014 Microsoft