ICodecAPI インターフェイス
ICodecAPI インターフェイスは、アプリケーションやドライバがサードパーティ製のハードウェア エンコーダまたはソフトウェア エンコーダと通信してインターフェイスを実装する標準の方法を定義する。このインターフェイスの使い方の詳細については、「エンコーダ API」を参照すること。
注 : このインターフェイスは、IEncoderAPI インターフェイスに代わるものである。IEncoderAPI インターフェイスの使用は避けること。
エンコーダは、システム レジストリにプロファイル情報や能力情報を格納すると想定される。アプリケーションはこのインターフェイスを使って、デバイス列挙中にデバイスを照会できる。デフォルトのプロファイルは、HLKM\Software\Classes\CLSID\<category>\Profiles に格納されている。各プロファイルはレジストリ キーで、そのデフォルト設定はプロファイルのテキストの説明である。値はそれぞれ、GUID 名とその後ろに続けて数値の GUID 値を含む文字列の値を持っている。以下に例を示す。
HLKM\Software\Classes\CLSID\<category>\Profiles\DVD
default "HQ DVD"
REG_SZ {659e5ecc-b1b9-4d29-8304-86911fb33165} = "0"
REG_SZ {3c2009e0-7598-4454-86ba-de8edc342645} = "1234"
ここで {...} は、アプリケーションが自身のユーザー インターフェイスにマップできるプロパティ GUID である。一連の標準プロファイルの定義については、現在検討中である。
デフォルトの CODEC 機能は、HLKM\Software\Classes\CLSID\<category>\Instance\<Filter CLSID>\Capabilities に格納されている。値はそれぞれ、GUID 名とその後ろに続けて数値の GUID 値を含む文字列の値を持っている。以下に例を示す。
HLKM\Software\Classes\CLSID\<category>\Instance\<My DVD encoder>\Capabilities
default "My DVD encoder"
REG_SZ_MULTI {659e5ecc-b1b9-4d29-8304-86911fb33165}
ここで {...} は、アプリケーションが自身のユーザー インターフェイスにマップできるプロパティ GUID である。
ICodecAPI インターフェイスは、IUnknown から継承するメソッド以外に以下のメソッドも公開する。
メソッド | 説明 |
GetAllSettings | 現在のエンコーダ設定をストリームに保存する。 |
GetDefaultValue | 引数にデフォルト値がある場合はそのデフォルト値を取得する。 |
GetParameterRange | 引数の有効な値の範囲を返す。 |
GetParameterValues | 指定された引数がサポートする値の一覧を返す。 |
GetValue | 指定された引数の現在の値を取得する。 |
IsModifiable | 引数を変更できるかどうかを照会する。 |
IsSupported | 指定された引数がサポートされているかどうかを照会する。 |
RegisterForEvent | エンコーダから指定されたイベントを受け取るためにアプリケーションを登録する。 |
SetAllDefaults | すべての引数をデフォルトの値に戻す。 |
SetAllDefaultsWithNotify | すべての引数をデフォルトの値に戻し、変更された設定の一覧を返す。 |
SetAllSettings | ストリームからエンコーダ設定を読み込み、その設定をエンコーダに設定する。 |
SetAllSettingsWithNotify | ストリームからエンコーダ設定を読み込み、その設定をエンコーダに設定し、変更された設定の一覧を返す。 |
SetValue | 引数の値を設定する。 |
SetValueWithNotify | 引数の値を設定し、その結果として変更された他の設定の一覧を返す。 |
UnregisterForEvent | 指定されたエンコーダ イベントからアプリケーションの登録を解除する。 |
注意
IEncoderAPI インターフェイスは、さまざまなエンコーダ引数を識別する一連の GUID を定義した。ICodecAPI インターフェイスもこれらの GUID をサポートするが、このインターフェイスで使う場合は、サポートされる GUID はより幅広い一覧が定義されることが予想される。これまでに定義されている GUID の一覧については、IEncoderAPI のドキュメントを参照すること。
参照