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

IAMLine21Decoder

COM
IID6e8d4a21-310c-11d0-b79a-00aa003767a7継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IAMLine21Decoder インターフェイスは、クローズドキャプションに関する情報を設定および取得します。Line 21 Decoder フィルターがこのインターフェイスを公開します。

メソッド 13

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

vtbl 3 HRESULT GetDecoderLevel(AM_LINE21_CCLEVEL* lpLevel)

GetDecoderLevel メソッドは、クローズドキャプションのデコーダーレベルを取得します。

lpLevelAM_LINE21_CCLEVEL*inoutAM_LINE21_CCLEVEL 列挙体のメンバーを受け取る変数へのポインター。返される値は常に AM_L21_CCLEVEL_TC2(TeleCaption II)です。

戻り値

HRESULT 値を返します。指定できる値は次のとおりです。

戻り値コード 説明
E_INVALIDARG
無効な引数
S_OK
成功

解説(Remarks)

TeleCaption I および TeleCaption II は、クローズドキャプションデコーダーの規格です。Line 21 Decoder フィルターは TeleCaption II をサポートしており、これは TeleCaption I と下位互換性があります。

vtbl 4 HRESULT GetCurrentService(AM_LINE21_CCSERVICE* lpService)

GetCurrentService メソッドは、現在のクローズドキャプションサービスを取得します。

lpServiceAM_LINE21_CCSERVICE*inoutAM_LINE21_CCSERVICE 列挙体のメンバーを受け取る変数へのポインター。既定のサービスは CC1 です。

戻り値

HRESULT 値を返します。指定できる値は次のとおりです。

戻り値コード 説明
E_INVALIDARG
無効な引数
S_OK
成功
vtbl 5 HRESULT SetCurrentService(AM_LINE21_CCSERVICE Service)

SetCurrentService メソッドは、クローズドキャプションサービスを設定します。

ServiceAM_LINE21_CCSERVICEinクローズドキャプションサービスを指定する AM_LINE21_CCSERVICE 列挙体のメンバー。既定のサービスは CC1 です。

戻り値

説明
E_INVALIDARG 無効な引数
E_NOTIMPL 要求されたサービスは実装されていません。
S_OK 成功
vtbl 6 HRESULT GetServiceState(AM_LINE21_CCSTATE* lpState)

GetServiceState メソッドは、クローズドキャプションがオンかオフかを示します。

lpStateAM_LINE21_CCSTATE*inoutAM_LINE21_CCSTATE 列挙体のメンバーを受け取る変数へのポインター。

戻り値

HRESULT 値を返します。指定できる値は次のとおりです。

戻り値コード 説明
E_INVALIDARG
無効な引数
S_OK
成功

解説(Remarks)

既定では、Line 21 Decoder はクローズドキャプションを有効にします。

vtbl 7 HRESULT SetServiceState(AM_LINE21_CCSTATE State)

SetServiceState メソッドは、クローズドキャプションを有効または無効にします。

StateAM_LINE21_CCSTATEinクローズドキャプションを有効にするか無効にするかを指定する AM_LINE21_CCSTATE 列挙体のメンバー。

戻り値

HRESULT 値を返します。指定できる値は次のとおりです。

戻り値コード 説明
E_INVALIDARG
無効な引数
S_OK
成功
vtbl 8 HRESULT GetOutputFormat(BITMAPINFOHEADER* lpbmih)

GetOutputFormat メソッドは、Line 21 Decoder フィルターの出力形式を取得します。

lpbmihBITMAPINFOHEADER*inout呼び出し側が割り当てた BITMAPINFOHEADER 構造体へのポインター。

戻り値

HRESULT 値を返します。指定できる値は次のとおりです。

戻り値コード 説明
E_INVALIDARG
無効な引数
S_OK
成功
S_FALSE
出力形式が設定されていません。
vtbl 9 HRESULT SetOutputFormat(BITMAPINFO* lpbmi)

SetOutputFormat メソッドは、Line 21 Decoder フィルターの出力形式を設定します。

lpbmiBITMAPINFO*inout出力形式を記述する BITMAPINFO 構造体へのポインター。

戻り値

E_NOTIMPL を返します。

vtbl 10 HRESULT GetBackgroundColor(DWORD* pdwPhysColor)

GetBackgroundColor メソッドは、Line 21 Decoder フィルターがオーバーレイに使用する背景色を取得します。既定の背景色はマゼンタです。

pdwPhysColorDWORD*inout背景色をピクセルのカラー値として受け取る変数へのポインター。ピクセル値の意味は、フィルターの現在の出力形式のビット深度によって定義されます。

戻り値

HRESULT 値を返します。指定できる値は次のとおりです。

戻り値コード 説明
E_INVALIDARG
無効な引数
S_OK
成功
vtbl 11 HRESULT SetBackgroundColor(DWORD dwPhysColor)

SetBackgroundColor メソッドは、Line 21 Decoder フィルターがオーバーレイに使用する背景色を設定します。既定の背景色はマゼンタです。

dwPhysColorDWORDin背景色をピクセルのカラー値として設定します。ピクセル値の意味は、フィルターの現在の出力形式のビット深度によって定義されます。

戻り値

成功した場合は S_OK を、それ以外の場合はエラーコードを返します。

vtbl 12 HRESULT GetRedrawAlways(BOOL* lpbOption)

GetRedrawAlways メソッドは、Line 21 Decoder フィルターがサンプルごとに出力ビットマップ全体を再描画するかどうかを示します。

lpbOptionBOOL*inout

次のいずれかの値を受け取る変数へのポインター。

説明
TRUE フィルターは常にビットマップ全体を再描画します。
FALSE フィルターは必ずしもビットマップ全体を再描画するわけではありません。(既定)

戻り値

HRESULT 値を返します。指定できる値は次のとおりです。

戻り値コード 説明
E_INVALIDARG
無効な引数
S_OK
成功
vtbl 13 HRESULT SetRedrawAlways(BOOL bOption)

SetRedrawAlways メソッドは、Line 21 Decoder フィルターがサンプルごとに出力ビットマップ全体を再描画するかどうかを指定します。

bOptionBOOLin

次のいずれかの値を指定します。

説明
TRUE フィルターは常にビットマップ全体を再描画します。
FALSE フィルターは必ずしもビットマップ全体を再描画するわけではありません。(既定)

戻り値

成功した場合は S_OK を、それ以外の場合はエラーコードを返します。

解説(Remarks)

一般に、アプリケーションはこのメソッドを呼び出すべきではありません。下流のミキサーまたはレンダラーフィルターが Line 21 Decoder フィルターから受け取ったバッファに書き込みを行う場合、そのフィルターは値 TRUE を指定してこのメソッドを呼び出す必要があります。再描画は潜在的な最適化を無効にするため、パフォーマンスを低下させ、CPU 負荷を増加させます。

vtbl 14 HRESULT GetDrawBackgroundMode(AM_LINE21_DRAWBGMODE* lpMode)

GetDrawBackgroundMode メソッドは、Line 21 Decoder フィルターがキャプションを透明な背景と不透明な背景のどちらに描画するかを示します。既定では、キャプションの背景は不透明です。

lpModeAM_LINE21_DRAWBGMODE*inoutAM_LINE21_DRAWBGMODE 列挙体のメンバーを受け取る変数へのポインター。

戻り値

HRESULT 値を返します。指定できる値は次のとおりです。

戻り値コード 説明
E_INVALIDARG
無効な引数
S_OK
成功
vtbl 15 HRESULT SetDrawBackgroundMode(AM_LINE21_DRAWBGMODE Mode)

SetDrawBackgroundMode メソッドは、Line 21 Decoder フィルターがキャプションを透明な背景と不透明な背景のどちらに描画するかを指定します。既定では、キャプションの背景は不透明です。

ModeAM_LINE21_DRAWBGMODEinAM_LINE21_DRAWBGMODE 列挙体のメンバーを指定します。

戻り値

HRESULT 値を返します。指定できる値は次のとおりです。

戻り値コード 説明
E_INVALIDARG
無効な引数
S_OK
成功
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IAMLine21Decoder "{6E8D4A21-310C-11D0-B79A-00AA003767A7}"
#usecom global IAMLine21Decoder IID_IAMLine21Decoder "{}"
#comfunc global IAMLine21Decoder_GetDecoderLevel        3 var
#comfunc global IAMLine21Decoder_GetCurrentService      4 var
#comfunc global IAMLine21Decoder_SetCurrentService      5 int
#comfunc global IAMLine21Decoder_GetServiceState        6 var
#comfunc global IAMLine21Decoder_SetServiceState        7 int
#comfunc global IAMLine21Decoder_GetOutputFormat        8 var
#comfunc global IAMLine21Decoder_SetOutputFormat        9 var
#comfunc global IAMLine21Decoder_GetBackgroundColor     10 var
#comfunc global IAMLine21Decoder_SetBackgroundColor     11 int
#comfunc global IAMLine21Decoder_GetRedrawAlways        12 var
#comfunc global IAMLine21Decoder_SetRedrawAlways        13 int
#comfunc global IAMLine21Decoder_GetDrawBackgroundMode  14 var
#comfunc global IAMLine21Decoder_SetDrawBackgroundMode  15 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。