IDvbSiParser
COM公式ドキュメント
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。IDvbSiParser は、DVB トランスポートストリームから program specific information (PSI) テーブルおよび service information (SI) テーブルを取得します。
解説(Remarks)
このインターフェイスへのポインターを取得する方法については、IDvbSiParser2 の解説を参照してください。
メソッド 15
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| punkMpeg2Data | IUnknown* | in | MPEG-2 Sections and Tables Filter、または IMpeg2Data インターフェイスを実装する別のオブジェクトの IUnknown インターフェイスへのポインター。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| punkMpeg2Data ポインターが IMpeg2Data インターフェイスを公開していません。 | |
| NULL ポインター引数です。 | |
| メソッドは成功しました。 |
解説(Remarks)
このメソッドが呼び出されるまで、このインターフェイスの他のすべてのメソッドは失敗します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| ppPAT | IPAT** | out | IPAT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
解説(Remarks)
所定の時間内に一致するテーブルをフィルターが受信しない場合、このメソッドは失敗します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| dwTimeout | DWORD | in | タイムアウト値をミリ秒単位で指定します。タイムアウト期間内にフィルターがデータを受信しない場合、このメソッドは失敗します。 |
| ppCAT | ICAT** | out | ICAT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
解説(Remarks)
このメソッドは、current とマークされた最初の CAT、すなわち current_next_indicator ビットが 1 の CAT を返します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| pid | WORD | in | 要求する PMT の PID を指定します。 |
| pwProgramNumber | WORD* | inoptional | テーブルのプログラム番号を格納する変数への省略可能なポインター。この値を使用して要求をフィルターできます。それ以外の場合は、このパラメーターを NULL に設定します。 |
| ppPMT | IPMT** | out | IPMT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
解説(Remarks)
所定の時間内に一致するテーブルをフィルターが受信しない場合、このメソッドは失敗します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| ppTSDT | ITSDT** | out | ITSDT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
解説(Remarks)
所定の時間内に一致するテーブルをフィルターが受信しない場合、このメソッドは失敗します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| tableId | BYTE | in | NIT のテーブル識別子を指定します。次の表の値のいずれかを使用します。
| ||||||
| pwNetworkId | WORD* | inoptional | ネットワーク識別子を格納する省略可能なパラメーター。この値を使用して要求をフィルターできます。それ以外の場合は、このパラメーターを NULL に設定します。 | ||||||
| ppNIT | IDVB_NIT** | out | IDVB_NIT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
解説(Remarks)
所定の時間内に一致するテーブルをフィルターが受信しない場合、このメソッドは失敗します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| tableId | BYTE | in | SDT のテーブル識別子を指定します。次の表の値のいずれかを使用します。
| ||||||
| pwTransportStreamId | WORD* | inoptional | トランスポートストリーム識別子 (TSID) を格納する省略可能なパラメーター。この値を使用して要求をフィルターできます。それ以外の場合は、このパラメーターを NULL に設定します。 | ||||||
| ppSDT | IDVB_SDT** | out | IDVB_SDT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
解説(Remarks)
所定の時間内に一致するテーブルをフィルターが受信しない場合、このメソッドは失敗します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| tableId | BYTE | in | EIT のテーブル識別子を指定します。次の表の値のいずれかを使用します。
| ||||||||||
| pwServiceId | WORD* | inoptional | サービス識別子を格納する省略可能なパラメーター。この値を使用して要求をフィルターできます。それ以外の場合は、このパラメーターを NULL に設定します。 | ||||||||||
| ppEIT | IDVB_EIT** | out | IDVB_EIT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
解説(Remarks)
所定の時間内に一致するテーブルをフィルターが受信しない場合、このメソッドは失敗します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| pwBouquetId | WORD* | inoptional | bouquet 識別子を格納する省略可能なパラメーター。この値を使用して要求をフィルターできます。それ以外の場合は、このパラメーターを NULL に設定します。 |
| ppBAT | IDVB_BAT** | out | IDVB_BAT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
解説(Remarks)
所定の時間内に一致するテーブルをフィルターが受信しない場合、このメソッドは失敗します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| dwTimeout | DWORD | in | タイムアウト値をミリ秒単位で指定します。タイムアウト期間内にフィルターがデータを受信しない場合、このメソッドは失敗します。 |
| ppRST | IDVB_RST** | out | IDVB_RST インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| pid | WORD | in | ST のパケット識別子 (PID) を指定します。有効な PID は 0x10 から 0x14 まで (両端を含む) の範囲です。 |
| dwTimeout | DWORD | in | タイムアウト値をミリ秒単位で指定します。タイムアウト期間内にフィルターがデータを受信しない場合、このメソッドは失敗します。 |
| ppST | IDVB_ST** | out | IDVB_ST インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| ppTDT | IDVB_TDT** | out | IDVB_TDT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
解説(Remarks)
所定の時間内に一致するテーブルをフィルターが受信しない場合、このメソッドは失敗します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| ppTOT | IDVB_TOT** | out | IDVB_TOT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
解説(Remarks)
所定の時間内に一致するテーブルをフィルターが受信しない場合、このメソッドは失敗します。
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| dwTimeout | DWORD | in | タイムアウト値をミリ秒単位で指定します。タイムアウト期間内にフィルターがデータを受信しない場合、このメソッドは失敗します。 |
| ppDIT | IDVB_DIT** | out | IDVB_DIT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。
| dwTimeout | DWORD | in | タイムアウト値をミリ秒単位で指定します。タイムアウト期間内にフィルターがデータを受信しない場合、このメソッドは失敗します。 |
| ppSIT | IDVB_SIT** | out | IDVB_SIT インターフェイスポインターを受け取る変数のアドレス。呼び出し元はインターフェイスを解放する必要があります。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には次の表の値が含まれます。
| リターンコード | 説明 |
|---|---|
| NULL ポインター引数です。 | |
| フィルターは割り当てられた時間内にテーブルを受信しませんでした。 | |
| メソッドは成功しました。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDvbSiParser "{B758A7BD-14DC-449D-B828-35909ACB3B1E}" #usecom global IDvbSiParser IID_IDvbSiParser "{}" #comfunc global IDvbSiParser_Initialize 3 sptr #comfunc global IDvbSiParser_GetPAT 4 sptr #comfunc global IDvbSiParser_GetCAT 5 int,sptr #comfunc global IDvbSiParser_GetPMT 6 int,var,sptr #comfunc global IDvbSiParser_GetTSDT 7 sptr #comfunc global IDvbSiParser_GetNIT 8 int,var,sptr #comfunc global IDvbSiParser_GetSDT 9 int,var,sptr #comfunc global IDvbSiParser_GetEIT 10 int,var,sptr #comfunc global IDvbSiParser_GetBAT 11 var,sptr #comfunc global IDvbSiParser_GetRST 12 int,sptr #comfunc global IDvbSiParser_GetST 13 int,int,sptr #comfunc global IDvbSiParser_GetTDT 14 sptr #comfunc global IDvbSiParser_GetTOT 15 sptr #comfunc global IDvbSiParser_GetDIT 16 int,sptr #comfunc global IDvbSiParser_GetSIT 17 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDvbSiParser "{B758A7BD-14DC-449D-B828-35909ACB3B1E}" #usecom global IDvbSiParser IID_IDvbSiParser "{}" #comfunc global IDvbSiParser_Initialize 3 sptr #comfunc global IDvbSiParser_GetPAT 4 sptr #comfunc global IDvbSiParser_GetCAT 5 int,sptr #comfunc global IDvbSiParser_GetPMT 6 int,sptr,sptr #comfunc global IDvbSiParser_GetTSDT 7 sptr #comfunc global IDvbSiParser_GetNIT 8 int,sptr,sptr #comfunc global IDvbSiParser_GetSDT 9 int,sptr,sptr #comfunc global IDvbSiParser_GetEIT 10 int,sptr,sptr #comfunc global IDvbSiParser_GetBAT 11 sptr,sptr #comfunc global IDvbSiParser_GetRST 12 int,sptr #comfunc global IDvbSiParser_GetST 13 int,int,sptr #comfunc global IDvbSiParser_GetTDT 14 sptr #comfunc global IDvbSiParser_GetTOT 15 sptr #comfunc global IDvbSiParser_GetDIT 16 int,sptr #comfunc global IDvbSiParser_GetSIT 17 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。