MFCreateTransformActivate 関数 (mftransform.h)

Media Foundation 変換 (MFT) の汎用アクティブ化オブジェクトを作成します。

構文

HRESULT MFCreateTransformActivate(
  [out] IMFActivate **ppActivate
);

パラメーター

[out] ppActivate

IMFActivate インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

解説

ほとんどのアプリケーションでは、この関数は使用されません。 MFTEnumEx 関数によって内部的に使用されます。

アクティブ化オブジェクトは、クラス ファクトリに似た別のオブジェクトを作成するヘルパー オブジェクトです。 MFCreateTransformActivate 関数は、MFT のアクティブ化オブジェクトを作成します。 このアクティブ化オブジェクトで MFT を作成する前に、呼び出し元はアクティブ化オブジェクトに 1 つ以上の属性を設定してアクティブ化オブジェクトを初期化する必要があります。

属性 説明
MFT_TRANSFORM_CLSID_Attribute 必須です。 MFT の CLSID を格納します。 アクティブ化オブジェクトは、この CLSID を CoCreateInstance 関数に渡すことによって MFT を作成します。
MF_TRANSFORM_CATEGORY_Attribute 省略可能。 MFT のカテゴリを指定します。
MF_TRANSFORM_FLAGS_Attribute MFT を記述するさまざまなフラグが含まれています。 ハードウェア ベースの MFT の場合は、 MFT_ENUM_FLAG_HARDWARE フラグを設定します。 それ以外の場合、この属性は省略可能です。
MFT_CODEC_MERIT_Attribute 省略可能。 ハードウェア コーデックのメリット値が含まれています。

この属性が設定され、その値が 0 より大きい場合、アクティブ化オブジェクトは MFGetMFTMerit を呼び出して MFT の信頼できるメリット値を取得します。 信頼できるメリットがこの属性の値より小さい場合、アクティブ化オブジェクトの IMFActivate::ActivateObject メソッドは失敗し、 MF_E_INVALID_CODEC_MERITを返します。

MFT_ENUM_HARDWARE_URL_Attribute ハードウェア ベースの MFT に必要です。 ハードウェア デバイスのシンボリック リンクを指定します。 デバイス プロキシは、この値を使用して MFT を構成します。
MFT_FIELDOFUSE_UNLOCK_Attribute 省略可能。 MFT のロック解除に使用できる IMFFieldOfUseMFTUnlock ポインターが含まれています。 IMFFieldOfUseMFTUnlock インターフェイスは、使用制限がある MFT で使用されます。

この属性が設定され、 MF_TRANSFORM_FLAGS_Attribute 属性に MFT_ENUM_FLAG_FIELDOFUSE フラグが含まれている場合、アクティブ化オブジェクトは MFT の作成時に IMFFieldOfUseMFTUnlock::Unlock を呼び出します。 アプリケーションでは、MFT_ENUM_FLAG_FIELDOFUSE フラグを設定せずに、MFT_FIELDOFUSE_UNLOCK_Attribute属性を設定することもできます。 その場合、アプリケーションは Unlock を呼び出す必要があります。

MFT_PREFERRED_ENCODER_PROFILE 省略可能。 エンコーダーのエンコード プロファイルを格納します。 この属性の値は IMFAttributes ポインターです

この属性が設定され、 MF_TRANSFORM_CATEGORY_Attribute 属性の値が MFT_CATEGORY_AUDIO_ENCODER または MFT_CATEGORY_VIDEO_ENCODER場合、アクティブ化オブジェクトはエンコード プロファイルを使用して MFT を構成します。 この目的のために、MFT は ICodecAPI または IPropertyStore を公開する必要があります。

MFT_PREFERRED_OUTPUTTYPE_Attribute 省略可能。 エンコーダーに推奨される出力形式を指定します。

この属性セットと MF_TRANSFORM_CATEGORY_Attribute 属性の値が MFT_CATEGORY_AUDIO_ENCODER または MFT_CATEGORY_VIDEO_ENCODERの場合、アクティブ化オブジェクトはこのメディアの種類を MFT に設定します。

 

アクティブ化オブジェクトの詳細については、「アクティブ オブジェクト」を参照してください。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mftransform.h
Library Mfplat.lib
[DLL] Mfplat.dll

関連項目

アクティブ化オブジェクト

メディア ファンデーション機能

Media Foundation の変換