MFPKEY_PMP_Creation_Callback 属性

设置在源解析期间创建 PMP 媒体会话 的回调。

数据类型

PROPVARIANT 类型 (vt)

PROPVARIANT 成员

IUnknown*

VT_UNKNOWN

punkVal

备注

某些受保护的内容可能需要使用此属性。 如果是这样,则源解析过程将失败, 错误代码MF_E_RESOLUTION_REQUIRES_PMP_CREATION_CALLBACK

若要使用此属性,请执行以下操作。

  1. 调用 PSCreateMemoryPropertyStore 以创建属性存储。
  2. 实现 IMFAsyncCallback 回调接口。
  3. 在属性存储中设置MFPKEY_PMP_Creation_Callback属性。 值是指向 IMFAsyncCallback 实现的指针。
  4. 调用 IMFSourceResolver::BeginCreateObjectFromURL。 在 pProps 参数中传入指向属性存储的指针。

在回调接口的 IMFAsyncCallback::Invoke 方法中,执行以下操作。

  1. 调用 MFCreatePMPMediaSession 以创建 PMP 媒体会话
  2. 在 PMP 媒体会话上调用 IMFGetService::GetService ,以指向 IMFPMPHost 接口的指针。
  3. 对在 IMFAsyncCallback::InvokepAsyncResult 参数中传递的结果对象调用 IMFAsyncResult::GetState。 查询 IMFAsyncCallback 接口返回的 IUnknown 指针。
  4. 使用以下参数调用 MFPutWorkItem
    • dwQueueMFASYNC_CALLBACK_QUEUE_STANDARD
    • pCallback:在步骤 3 中获取的 IMFAsyncCallback 指针。
    • pState:在步骤 2 中获取的 IMFPMPHost 指针。

要求

要求
最低受支持的客户端
Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器
Windows Server 2012 [桌面应用 |UWP 应用]
标头
Mfidl.h

另请参阅

媒体基础属性

PMP 媒体会话

受保护的媒体路径

源冲突解决程序