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
|
Minimum supported client |
Windows 8 [desktop apps | Windows Store apps] |
|---|---|
|
Minimum supported server |
Windows Server 2012 [desktop apps | Windows Store apps] |
|
Header |
|
See also
Show: