Win32 API 日本語リファレンス
ホームMedia.DirectShow.Tv › ICaptionServiceDescriptor

ICaptionServiceDescriptor

COM
IID40834007-6834-46f0-bd45-d5f6a6be258c継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

解説(Remarks)

このインターフェイスへのポインターを取得するには、次の手順を実行します。

  1. IAtscPsipParser::GetEIT を呼び出して IATSC_EIT インターフェイスを取得します。
  2. IATSC_EIT::GetRecordDescriptorByTag を呼び出し、caption service descriptor タグ (0x86) を渡します。記述子が存在する場合、このメソッドは IGenericDescriptor ポインターを返します。
  3. 返された IGenericDescriptor ポインターに対して ICaptionServiceDescriptor インターフェイスをクエリします。

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetNumberOfServices(BYTE* pbVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

pbValBYTE*outキャプションサービスの数を受け取ります。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表の値が含まれますが、これらに限定されません。

リターンコード 説明
S_OK
メソッドが成功しました。
MPEG2_E_INCORRECT_DESCRIPTOR_TAG
テーブル記述子のタグが正しくありません。
MPEG2_E_MALFORMED_TABLE
PSIP テーブルが正しく構成されていません。
vtbl 4 HRESULT GetLanguageCode(BYTE bIndex, BYTE* LangCode)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

bIndexBYTEinキャプションサービスの 0 から始まるインデックス。キャプションサービスの数を取得するには、ICaptionServiceDescriptor::GetNumberOfServices を呼び出します。
LangCodeBYTE*outISO-639 言語コードを受け取る 3 バイト配列のアドレス。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表の値が含まれますが、これらに限定されません。

リターンコード 説明
S_OK
メソッドが成功しました。
MPEG2_E_INCORRECT_DESCRIPTOR_TAG
テーブル記述子のタグが正しくありません。
MPEG2_E_MALFORMED_TABLE
PSIP テーブルが正しく構成されていません。
MPEG2_E_OUT_OF_BOUNDS
bIndex パラメーターが範囲外です。
vtbl 5 HRESULT GetCaptionServiceNumber(BYTE bIndex, BYTE* pbVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

bIndexBYTEinキャプションサービスの 0 から始まるインデックス。キャプションサービスの数を取得するには、ICaptionServiceDescriptor::GetNumberOfServices を呼び出します。
pbValBYTE*outcaption_service_number フィールドを受け取ります。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表の値が含まれますが、これらに限定されません。

リターンコード 説明
S_OK
メソッドが成功しました。
MPEG2_E_INCORRECT_DESCRIPTOR_TAG
テーブル記述子のタグが正しくありません。
MPEG2_E_MALFORMED_TABLE
PSIP テーブルが正しく構成されていません。
MPEG2_E_OUT_OF_BOUNDS
bIndex パラメーターが範囲外です。
vtbl 6 HRESULT GetCCType(BYTE bIndex, BYTE* pbVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

bIndexBYTEinキャプションサービスの 0 から始まるインデックス。キャプションサービスの数を取得するには、ICaptionServiceDescriptor::GetNumberOfServices を呼び出します。
pbValBYTE*out

cc_type フラグを受け取ります。

説明
0 キャプションサービスに line-21 キャプションが含まれます。
1 キャプションサービスに DTVCC キャプションが含まれます。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表の値が含まれますが、これらに限定されません。

リターンコード 説明
S_OK
メソッドが成功しました。
MPEG2_E_INCORRECT_DESCRIPTOR_TAG
テーブル記述子のタグが正しくありません。
MPEG2_E_MALFORMED_TABLE
PSIP テーブルが正しく構成されていません。
MPEG2_E_OUT_OF_BOUNDS
bIndex パラメーターが範囲外です。
vtbl 7 HRESULT GetEasyReader(BYTE bIndex, BYTE* pbVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

bIndexBYTEinキャプションサービスの 0 から始まるインデックス。キャプションサービスの数を取得するには、ICaptionServiceDescriptor::GetNumberOfServices を呼び出します。
pbValBYTE*out

easy_reader フラグを受け取ります。

説明
0 キャプションサービスに "Easy Reader" キャプションが含まれません。
1 キャプションサービスに "Easy Reader" キャプションが含まれます。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表の値が含まれますが、これらに限定されません。

リターンコード 説明
S_OK
メソッドが成功しました。
MPEG2_E_INCORRECT_DESCRIPTOR_TAG
テーブル記述子のタグが正しくありません。
MPEG2_E_MALFORMED_TABLE
PSIP テーブルが正しく構成されていません。
MPEG2_E_OUT_OF_BOUNDS
bIndex パラメーターが範囲外です。
vtbl 8 HRESULT GetWideAspectRatio(BYTE bIndex, BYTE* pbVal)

このトピックは、Microsoft Windows XP Media Center Edition 2005 用の Update Rollup 2 以降に適用されます。

bIndexBYTEinキャプションサービスの 0 から始まるインデックス。キャプションサービスの数を取得するには、ICaptionServiceDescriptor::GetNumberOfServices を呼び出します。
pbValBYTE*out

wide_aspect_ratio を受け取ります。

説明
0 キャプションサービスは 4:3 のアスペクト比用にフォーマットされています。
1 キャプションサービスは 16:9 のアスペクト比用にフォーマットされています。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表の値が含まれますが、これらに限定されません。

リターンコード 説明
S_OK
メソッドが成功しました。
MPEG2_E_INCORRECT_DESCRIPTOR_TAG
テーブル記述子のタグが正しくありません。
MPEG2_E_MALFORMED_TABLE
PSIP テーブルが正しく構成されていません。
MPEG2_E_OUT_OF_BOUNDS
bIndex パラメーターが範囲外です。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ICaptionServiceDescriptor "{40834007-6834-46F0-BD45-D5F6A6BE258C}"
#usecom global ICaptionServiceDescriptor IID_ICaptionServiceDescriptor "{}"
#comfunc global ICaptionServiceDescriptor_GetNumberOfServices      3 var
#comfunc global ICaptionServiceDescriptor_GetLanguageCode          4 int,var
#comfunc global ICaptionServiceDescriptor_GetCaptionServiceNumber  5 int,var
#comfunc global ICaptionServiceDescriptor_GetCCType                6 int,var
#comfunc global ICaptionServiceDescriptor_GetEasyReader            7 int,var
#comfunc global ICaptionServiceDescriptor_GetWideAspectRatio       8 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。