ICodecAPI インターフェイス (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

ICodecAPI インターフェイスは、エンコーダーまたはデコーダー フィルターの設定を設定および取得します。

注意

strmif.h で宣言された API は、ユニバーサル Windows プラットフォーム (UWP) アプリではサポートされていません。 UWP アプリで ICodecAPI を使用するには、 icodecapi.h で宣言されているバージョンを使用します。

継承

ICodecAPI インターフェイスは、IUnknown インターフェイスから継承されます。 ICodecAPI には、次の種類のメンバーもあります。

メソッド

ICodecAPI インターフェイスには、これらのメソッドがあります。

 
ICodecAPI::GetAllSettings

GetAllSettings メソッドは、コーデックの現在のプロパティを取得し、ストリームに書き込みます。 (ICodecAPI.GetAllSettings)
ICodecAPI::GetDefaultValue

GetDefaultValue メソッドは、コーデック プロパティの既定値を取得します。 (ICodecAPI.GetDefaultValue)
ICodecAPI::GetParameterRange

GetParameterRange メソッドは、コーデック プロパティの値の範囲を取得します。 (ICodecAPI.GetParameterRange)
ICodecAPI::GetParameterValues

GetParameterValues メソッドは、コーデック プロパティに使用できる値の一覧を取得します。 (ICodecAPI.GetParameterValues)
ICodecAPI::GetValue

GetValue メソッドは、コーデック プロパティの現在の値を取得します。
ICodecAPI::IsModifiable

IsModifiable メソッドは、コーデックの現在の構成に応じて、コーデック プロパティを変更できるかどうかを照会します。 (ICodecAPI.IsModifiable)
ICodecAPI::IsSupported

IsSupported メソッドは、コーデックが特定のプロパティをサポートしているかどうかを照会します。 (ICodecAPI.IsSupported)
ICodecAPI::RegisterForEvent

RegisterForEvent メソッドは、コーデックからイベントを受信するようにアプリケーションを登録します。 (ICodecAPI.RegisterForEvent)
ICodecAPI::SetAllDefaults

SetAllDefaults メソッドは、すべてのコーデック プロパティを既定値にリセットします。 (ICodecAPI.SetAllDefaults)
ICodecAPI::SetAllDefaultsWithNotify

SetAllDefaultsWithNotify メソッドは、すべてのコーデック プロパティを既定値にリセットし、変更されたプロパティの一覧を返します。 (ICodecAPI.SetAllDefaultsWithNotify)
ICodecAPI::SetAllSettings

SetAllSettings メソッドは、ストリームからコーデック プロパティを読み取り、コーデックに設定します。 (ICodecAPI.SetAllSettings)
ICodecAPI::SetAllSettingsWithNotify

SetAllSettingsWithNotify メソッドは、ストリームからコーデック プロパティを読み取り、コーデックに設定して、変更されたプロパティの一覧を返します。 (ICodecAPI.SetAllSettingsWithNotify)
ICodecAPI::SetValue

SetValue メソッドは、コーデック プロパティの値を設定します。 (ICodecAPI.SetValue)
ICodecAPI::SetValueWithNotify

SetValueWithNotify メソッドはコーデックのプロパティを設定し、その結果変更された他のプロパティの一覧を返します。 (ICodecAPI.SetValueWithNotify)
ICodecAPI::UnregisterForEvent

UnregisterForEvent メソッドは、指定したエンコーダー イベントのアプリケーションの登録を解除します。 (ICodecAPI.UnregisterForEvent)

注釈

このインターフェイスは、コーデック (エンコーダーまたはデコーダー) にプロパティを設定するための一般的なメカニズムを定義します。 コーデック プロパティはキーと値のペアで、キーは GUID で、値は VARIANT ですVARIANT データの解釈は、プロパティ GUID によって異なります。 コーデック プロパティ GUID の一覧については、「 Codec API のプロパティ」を参照してください。

コーデック プロファイル

コーデックでは、必要に応じて、プロファイルと機能の情報をシステム レジストリに格納できます。 この情報により、アプリケーションはデバイスの列挙中にデバイスに対してクエリを実行できます。 既定のプロファイルは、次のレジストリ キーに格納されます。
HKEY_LOCAL_MACHINE
   Software
      Classes
         CLSID
            Category
               Profiles
各プロファイルは、既定の文字列がプロファイルのテキスト説明であるレジストリ キーです。 各値には GUID 名があり、その後に数値 GUID 値を含む文字列値が続きます。 例:
C++
  HLKM\Software\Classes\CLSID\<category>\Profiles\DVD
    default "HQ DVD"
    REG_SZ {...} = "0"
    REG_SZ {...} = "1234"
ここで{...} は、アプリケーションがユーザー インターフェイスにマップできるプロパティ GUID です。 Microsoft は現在、一連の標準プロファイルの定義を検討しています。

既定のコーデック機能は HLKM\Software\Classes\CLSID< に格納されます。category>\Instance<CLSID>\Capabilities をフィルター処理します。 各値には GUID 名があり、その後に数値 GUID 値を含む文字列値が続きます。 例:

C++
HLKM\Software\Classes\CLSID\<category>\Instance\<My DVD encoder>\Capabilities
     default "My DVD encoder"
     REG_SZ_MULTI {...}
ここで{...} は、アプリケーションがユーザー インターフェイスにマップできるプロパティ GUID です。

要件

   
サポートされている最小のクライアント SP2 を使用した Windows XP [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)

こちらもご覧ください

Windows Media Center Edition のデコーダー設定

エンコーダー API