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

IAMWstDecoder

COM
IIDc056de21-75c2-11d3-a184-00105aef9f33継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IAMWstDecoder インターフェイスは、World Standard Teletext (WST) に関する情報を設定および取得します。WST Decoder フィルターがこのインターフェイスを実装します。

メソッド 18

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

vtbl 3 HRESULT GetDecoderLevel(AM_WST_LEVEL* lpLevel)

アプリケーションは GetDecoderLevel メソッドを使用して、WST デコーダーのレベルを取得します。このメソッドは実装されておらず、常に AM_WST_LEVEL_1_5 を返します。

lpLevelAM_WST_LEVEL*inoutデコーダーのレベルを示す AM_WST_LEVEL 列挙型のメンバーを受け取ります。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 4 HRESULT GetCurrentService(AM_WST_SERVICE* lpService)

アプリケーションは GetCurrentService メソッドを使用して、現在の WST サービスを取得します。

lpServiceAM_WST_SERVICE*inout

現在使用されているサービスを受け取る AM_WST_SERVICE 列挙型へのポインターを指定します。

説明
AM_WST_SERVICE_None 現在利用可能なサービスはありません。
AM_WST_SERVICE_Text サービスはテキストを提供しています。
AM_WST_SERVICE_IDS サービスは IDS データを提供しています。
AM_WST_SERVICE_Invalid サービスは無効です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 5 HRESULT GetServiceState(AM_WST_STATE* lpState)

アプリケーションは GetServiceState メソッドを使用して、現在のサービス状態を取得します。

lpStateAM_WST_STATE*inout

状態を受け取る変数へのポインター。AM_WST_STATE 列挙型のメンバーとして指定します。次の値が可能です。

説明
AM_WST_STATE_On WST サービスがオンです。
AM_WST_STATE_Off WST サービスがオフです。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 6 HRESULT SetServiceState(AM_WST_STATE State)

アプリケーションは SetServiceState メソッドを使用して、サービス状態を割り当てます。

StateAM_WST_STATEin

サービス状態を割り当てる AM_WST_STATE 列挙型のメンバーを指定します。

説明
AM_WST_STATE_On クローズドキャプションをオンにします。
AM_WST_STATE_Off クローズドキャプションをオフにします。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 7 HRESULT GetOutputFormat(BITMAPINFOHEADER* lpbmih)

ダウンストリームフィルターは GetOutputFormat メソッドを使用して、出力ビデオのサイズ、ビット深度、その他のパラメーターを取得します。

lpbmihBITMAPINFOHEADER*inout出力ビデオのサイズ、ビット深度、その他のプロパティを受け取る BITMAPINFOHEADER 構造体へのポインター。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT SetOutputFormat(BITMAPINFO* lpbmi)

ダウンストリームフィルターは SetOutputFormat メソッドを使用して、出力ビデオ形式を定義します。

lpbmiBITMAPINFO*inoutサイズ、ビット深度、その他のプロパティなど、出力ビデオ形式を記述する BITMAPINFO 構造体へのポインター。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

リターンコード 説明
S_FALSE
現時点では、ダウンストリームフィルターは出力形式を定義していません。
S_OK
ダウンストリームフィルターは既に出力形式を定義しています。
vtbl 9 HRESULT GetBackgroundColor(DWORD* pdwPhysColor)

ダウンストリームフィルターは GetBackgroundColor メソッドを使用して、オーバーレイミキシング用に背景をカラーキーイングする際に使用される現在の物理カラーを取得します。

pdwPhysColorDWORD*inout物理カラーを RGB 値として受け取ります。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 10 HRESULT SetBackgroundColor(DWORD dwPhysColor)

ダウンストリームフィルターは SetBackgroundColor メソッドを使用して、オーバーレイミキシング用に背景をカラーキーイングする際に使用する物理カラーを割り当てます。

dwPhysColorDWORDin物理カラーを含む DWORD を指定します。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 11 HRESULT GetRedrawAlways(BOOL* lpbOption)

ダウンストリームフィルターは GetRedrawAlways メソッドを使用して、サンプルごとに出力ビットマップ全体を再描画するかどうかを示す値を取得します。

lpbOptionBOOL*inout

常時再描画の値を受け取る BOOL へのポインター。

説明
TRUE サンプルごとに出力ビットマップ全体を再描画します。
FALSE サンプルごとに出力ビットマップ全体を再描画しません。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 12 HRESULT SetRedrawAlways(BOOL bOption)

ダウンストリームフィルターは SetRedrawAlways メソッドを使用して、サンプルごとに出力ビットマップ全体を再描画するかどうかを設定します。

bOptionBOOLin

サンプルごとに出力ビットマップ全体を再描画するかどうかを割り当てる BOOL を指定します。

説明
TRUE サンプルごとに出力ビットマップ全体を再描画します。
FALSE サンプルごとに出力ビットマップ全体を再描画しません。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 13 HRESULT GetDrawBackgroundMode(AM_WST_DRAWBGMODE* lpMode)

ダウンストリームフィルターは GetDrawBackgroundMode メソッドを使用して、キャプションテキストの背景が不透明か透明かを判定します。

lpModeAM_WST_DRAWBGMODE*inout

AM_WST_DRAWBGMODE 列挙型のメンバーを受け取ります。このパラメーターは次のいずれかの値を受け取ります。

説明
AM_WST_DRAWBGMODE_Opaque キャプションテキストの背景は不透明です。
AM_WST_DRAWBGMODE_Transparent キャプションテキストの背景は透明です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 14 HRESULT SetDrawBackgroundMode(AM_WST_DRAWBGMODE Mode)

ダウンストリームフィルターは SetDrawBackgroundMode メソッドを使用して、キャプションテキストの背景を不透明にするか透明にするかを割り当てます。

ModeAM_WST_DRAWBGMODEin

キャプションテキストの背景を不透明にするか透明にするかを指定する AM_WST_DRAWBGMODE 列挙型のメンバー。

説明
AM_WST_DRAWBGMODE_Opaque キャプションテキストの背景は不透明です。
AM_WST_DRAWBGMODE_Transparent キャプションテキストの背景は透明です。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 15 HRESULT SetAnswerMode(BOOL bAnswer)

ダウンストリームフィルターは SetAnswerMode メソッドを使用して、現在の解答モードを割り当てます。

bAnswerBOOLin

現在の解答モードを指定します。

説明
TRUE 隠しテキストを表示します。
FALSE 隠しテキストを表示しません。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 16 HRESULT GetAnswerMode(BOOL* pbAnswer)

ダウンストリームフィルターは GetAnswerMode メソッドを使用して、現在の解答モードを取得します。

pbAnswerBOOL*inout

現在の解答モードを受け取ります。

説明
TRUE 隠しテキストを表示します。
FALSE 隠しテキストを表示しません。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT コードを返します。

vtbl 17 HRESULT SetHoldPage(BOOL bHoldPage)

ダウンストリームフィルターは SetHoldPage メソッドを使用して、現在の WST ページを保持するよう WST デコーダーに指示します。WST デコーダーがページを保持している間、TV ストリームからの更新はすべてオフになります。これは、ページがリアルタイムで一時停止されたかのような状態です。

bHoldPageBOOLin

現在のページを保持するかどうかを指定します。

説明
TRUE 現在のページを保持します。
FALSE 現在のページを解放します。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 18 HRESULT GetHoldPage(BOOL* pbHoldPage)

ダウンストリームフィルターは GetHoldPage メソッドを使用して、現在の WST ページが保持されているかどうかを判定します。WST デコーダーがページを保持している間、TV ストリームからの更新はすべてオフになります。これは、ページがリアルタイムで一時停止されたかのような状態です。

pbHoldPageBOOL*inout

WST ページの状態を受け取る BOOL へのポインター。

説明
TRUE 現在のページは保持されています。
FALSE 現在のページは保持されていません。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 19 HRESULT GetCurrentPage(AM_WST_PAGE* pWstPage)

ダウンストリームフィルターは GetCurrentPage メソッドを使用して、現在の WST ページを取得します。

pWstPageAM_WST_PAGE*inout現在のページを受け取る AM_WST_PAGE 構造体へのポインター。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 20 HRESULT SetCurrentPage(AM_WST_PAGE WstPage)

ダウンストリームフィルターは SetCurrentPage メソッドを使用して、現在のページを割り当てます。

WstPageAM_WST_PAGEin現在のページを割り当てるために使用する AM_WST_PAGE 構造体を指定します。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IAMWstDecoder "{C056DE21-75C2-11D3-A184-00105AEF9F33}"
#usecom global IAMWstDecoder IID_IAMWstDecoder "{}"
#comfunc global IAMWstDecoder_GetDecoderLevel        3 var
#comfunc global IAMWstDecoder_GetCurrentService      4 var
#comfunc global IAMWstDecoder_GetServiceState        5 var
#comfunc global IAMWstDecoder_SetServiceState        6 int
#comfunc global IAMWstDecoder_GetOutputFormat        7 var
#comfunc global IAMWstDecoder_SetOutputFormat        8 var
#comfunc global IAMWstDecoder_GetBackgroundColor     9 var
#comfunc global IAMWstDecoder_SetBackgroundColor     10 int
#comfunc global IAMWstDecoder_GetRedrawAlways        11 var
#comfunc global IAMWstDecoder_SetRedrawAlways        12 int
#comfunc global IAMWstDecoder_GetDrawBackgroundMode  13 var
#comfunc global IAMWstDecoder_SetDrawBackgroundMode  14 int
#comfunc global IAMWstDecoder_SetAnswerMode          15 int
#comfunc global IAMWstDecoder_GetAnswerMode          16 var
#comfunc global IAMWstDecoder_SetHoldPage            17 int
#comfunc global IAMWstDecoder_GetHoldPage            18 var
#comfunc global IAMWstDecoder_GetCurrentPage         19 var
#comfunc global IAMWstDecoder_SetCurrentPage         20 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。