次の方法で共有


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. IMFPMPHost インターフェイスへのポインターに対して、PMP メディア セッションで IMFGetService::GetService を呼び出します。
  3. IMFAsyncCallback::Invoke の pAsyncResult パラメーターで渡される結果オブジェクトに対して IMFAsyncResult::GetState を呼び出します。 返された IUnknown ポインターに IMFAsyncCallback インターフェイスのクエリを実行します。
  4. 次のパラメーターを使用して MFPutWorkItem を呼び出します。
    • dwQueue: MFASYNC_CALLBACK_QUEUE_STANDARD
    • pCallback: 手順 3 で取得した IMFAsyncCallback ポインター。
    • pState: 手順 2 で取得した IMFPMPHost ポインター。

要件

要件
サポートされている最小のクライアント
Windows 8 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー
Windows Server 2012 [デスクトップ アプリ |UWP アプリ]
ヘッダー
Mfidl.h

関連項目

Media Foundation のプロパティ

PMP メディア セッション

保護されたメディア パス

ソース リゾルバー