MFPKEY_PMP_Creation_Callback property
Sets a callback that creates the PMP Media Session during source resolution.
Data type
PROPVARIANT type (vt)
PROPVARIANT member
IUnknown*
VT_UNKNOWN
punkVal
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.
- Call PSCreateMemoryPropertyStore to create a property store.
- Implement the IMFAsyncCallback callback interface.
- Set the MFPKEY_PMP_Creation_Callback property on the property store. The value is a pointer to the IMFAsyncCallback implementation.
- 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.
- Call MFCreatePMPMediaSession to create the PMP Media Session.
- Call IMFGetService::GetService on the PMP Media Session to a pointer to the IMFPMPHost interface.
- 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.
- 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
Requirement | Value |
---|---|
Minimum supported client |
Windows 8 [desktop apps | UWP apps] |
Minimum supported server |
Windows Server 2012 [desktop apps | UWP apps] |
Header |
|
See also