使用分野の制限事項

Note

このトピックは、Windows 7 以降に適用されます。

 

使用分野の制限とは、特定のテクノロジのライセンスを使用する方法を制限するプロビジョニングです。

Media Foundation には、Media Foundation 変換 (MFT) 、特にコーデックに使用分野の制限を適用するためのメカニズムが用意されています。 このメカニズムでは、アプリケーションが MFT とのハンドシェイクを実行するまで、MFT はアプリケーションによる独自の使用をブロックする必要があります。 Media Foundation はハンドシェイクを定義しません。通常、何らかの暗号化交換が含まれます。

登録と列挙

MFT に使用フィールド制限がある場合は、MFT を登録するときに MFT_ENUM_FLAG_FIELDOFUSE フラグを設定します。 このフラグは、次の MFT 登録 API に適用されます。

既定では、このフラグに登録されている MFT は列挙結果から除外されます。 使用フィールド制限がある MFT を列挙するには、MFTEnumEx を呼び出し、Flags パラメーターに MFT_ENUM_FLAG_FIELDOFUSE フラグを指定します。 このプロセスを説明する図を次に示します。

diagram showing mft and an application sending data to the registry

MFTEnum 関数は、フィールドオブユース制限がある MFT を常に除外します。

MFT のロック解除

フィールドオブユース制限付きの MFT を使用するには、次の手順を実行します。

  1. アプリケーションは IMFFieldOfUseMFTUnlock インターフェイスを 実装します。
  2. IMFFieldOfUseMFTUnlock::Unlock メソッドは、MFT の IUnknown インターフェイスへのポインターを受け取ります。
  3. Unlock メソッドでは、アプリケーションは、MFT によって定義されている任意のメカニズムを使用して、必要なハンドシェイクを実行します。 この手順は、Media Foundation API では定義されていません。
  4. Unlock メソッドが成功した場合、MFT はロックを解除します。

アプリケーションは、MFT_FIELDOFUSE_UNLOCK_Attribute属性を設定することによって IMFFieldOfUseMFTUnlock ポインターを指定します。 この属性を設定するには、アプリケーションでデコーダーまたはエンコード パイプラインを作成する方法に応じて、いくつかの方法があります。

API 使用分野のロックを解除する方法
ソース リーダー アプリケーションで ソース リーダー を使用してメディア ファイルをデコードする場合は、構成パラメーターで MFT_FIELDOFUSE_UNLOCK_Attribute 属性を設定します。 ソース リーダー属性を参照してください。
シンク ライター アプリケーションでシンク ライターを使用してメディア ファイルをエンコードする場合は、構成パラメーターに MFT_FIELDOFUSE_UNLOCK_Attribute 属性を設定します。 シンク ライター属性を参照してください。
高速トランスコード アプリケーションで高速トランスコード機能を使用してエンコード トポロジを作成する場合は、IMFTranscodeProfile::SetContainerAttributes を呼び出すときにMFT_FIELDOFUSE_UNLOCK_Attributeを設定します。 高速トランスコード機能の詳細については、「 トランスコード API」を参照してください。
トポロジ トポロジを直接作成する場合は、トポロジの属性として MFT_FIELDOFUSE_UNLOCK_Attribute を設定します。 「 トポロジ属性」を参照してください。
MFT Activation オブジェクト アプリケーションが使用するデコーダーまたはエンコーダーを直接列挙する場合は、MFTEnumEx 関数によって返される IMFActivate ポインターにMFT_FIELDOFUSE_UNLOCK_Attributeを設定します。
IMFActivate::ActivateObject を呼び出して MFT を作成する前に、属性を設定します。 アクティブ化オブジェクトは、MFT の作成時に IMFFieldOfUseMFTUnlock::Unlock を呼び出します。

 

次の図は、MFT アクティブ化オブジェクトと IMFFieldOfUseMFTUnlock インターフェイスの関係を示しています。

diagram showing an application, activation object and mft with arrows to an fou object, which has an arrow back to mft

Media Foundation Transforms