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.

MFPKEY_PMP_Creation_Callback property

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

Data typePROPVARIANT type (vt)PROPVARIANT member


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:
    • pCallback: The IMFAsyncCallback pointer obtained in step 3.
    • pState: The IMFPMPHost pointer obtained in step 2.


Minimum supported client

Windows 8 [desktop apps | UWP apps]

Minimum supported server

Windows Server 2012 [desktop apps | UWP apps]



See also

Media Foundation Properties
PMP Media Session
Protected Media Path
Source Resolver



© 2017 Microsoft