IMFASFStreamPrioritization
COM公式ドキュメント
実装されていません。(IMFASFStreamPrioritization)
メソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
注意 このインターフェイスは、このバージョンの Media Foundation では実装されていません。ストリーム優先順位リスト内のエントリ数を取得します。
| pdwStreamCount | DWORD* | out | ストリーム優先順位リスト内のストリーム数を受け取ります。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には、以下の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
注意 このインターフェイスは、このバージョンの Media Foundation では実装されていません。ストリーム優先順位リスト内のストリームのストリーム番号を取得します。
| dwStreamIndex | DWORD | in | ストリーム優先順位リストから取得するエントリの、0 から始まるインデックスです。優先順位リスト内のエントリ数を取得するには、IMFASFStreamPrioritization::GetStreamCount を呼び出します。 |
| pwStreamNumber | WORD* | out | ストリーム優先順位エントリのストリーム番号を受け取ります。 |
| pwStreamFlags | WORD* | out | ブール値を受け取ります。TRUE の場合、そのストリームは必須です。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には、以下の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 引数が NULL ポインターであるか、dwStreamIndex パラメーターが範囲外です。 |
注意 このインターフェイスは、このバージョンの Media Foundation では実装されていません。ストリーム優先順位リストにストリームを追加します。
| wStreamNumber | WORD | in | 追加するストリームのストリーム番号です。 |
| wStreamFlags | WORD | in | TRUE の場合、そのストリームは必須です。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には、以下の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 無効なストリーム番号です。 |
解説(Remarks)
ストリーム優先順位リストは、AddStream を呼び出すたびにエントリをリストに追加していくことで構築されます。リストは重要度の高い順に評価されます。最も重要なストリームを最初に追加し、最も重要度の低いストリームを最後に追加してください。
注意 このインターフェイスは、このバージョンの Media Foundation では実装されていません。ストリーム優先順位リストからストリームを削除します。
| dwStreamIndex | DWORD | in | ストリーム優先順位リストから削除するエントリのインデックスです。値の範囲は 0 から、IMFASFStreamPrioritization::GetStreamCount を呼び出して取得したストリーム数から 1 を引いた値までです。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には、以下の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
ストリームがストリーム優先順位リストから削除されると、リスト内でそれ以降にあるすべてのストリームのインデックス値が 1 ずつ減少します。
注意 このインターフェイスは、このバージョンの Media Foundation では実装されていません。ASF ストリーム優先順位付けオブジェクトのコピーを作成します。
| ppIStreamPrioritization | IMFASFStreamPrioritization** | out | 新しいオブジェクトの IMFASFStreamPrioritization インターフェイスへのポインターを受け取ります。呼び出し元はこのインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には、以下の表に示すものが含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
新しいオブジェクトは元のオブジェクトから完全に独立しています。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IMFASFStreamPrioritization "{699BDC27-BBAF-49FF-8E38-9C39C9B5E088}" #usecom global IMFASFStreamPrioritization IID_IMFASFStreamPrioritization "{}" #comfunc global IMFASFStreamPrioritization_GetStreamCount 3 var #comfunc global IMFASFStreamPrioritization_GetStream 4 int,var,var #comfunc global IMFASFStreamPrioritization_AddStream 5 int,int #comfunc global IMFASFStreamPrioritization_RemoveStream 6 int #comfunc global IMFASFStreamPrioritization_Clone 7 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMFASFStreamPrioritization "{699BDC27-BBAF-49FF-8E38-9C39C9B5E088}" #usecom global IMFASFStreamPrioritization IID_IMFASFStreamPrioritization "{}" #comfunc global IMFASFStreamPrioritization_GetStreamCount 3 sptr #comfunc global IMFASFStreamPrioritization_GetStream 4 int,sptr,sptr #comfunc global IMFASFStreamPrioritization_AddStream 5 int,int #comfunc global IMFASFStreamPrioritization_RemoveStream 6 int #comfunc global IMFASFStreamPrioritization_Clone 7 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。