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

IAMTuner

COM
IID211a8761-03ac-11d1-8d13-00aa00bd8339継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IAMTuner インターフェイスは TV チューナーを制御します。

メソッド 15

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

vtbl 3 HRESULT put_Channel(INT lChannel, INT lVideoSubChannel, INT lAudioSubChannel)

put_Channel メソッドは TV チャンネルを設定します。

lChannelINTinTV チャンネル番号。
lVideoSubChannelINTin定義済みのビデオサブチャンネル値。チューニングを行わない場合は AMTUNER_SUBCHAN_NO_TUNE を、既定のサブチャンネルの場合は AMTUNER_SUBCHAN_DEFAULT を指定します。衛星放送でのみ意味を持ちます。
lAudioSubChannelINTin定義済みのオーディオサブチャンネル値。チューニングを行わない場合は AMTUNER_SUBCHAN_NO_TUNE を、既定のサブチャンネルの場合は AMTUNER_SUBCHAN_DEFAULT を指定します。衛星放送でのみ意味を持ちます。

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。

解説(Remarks)

このメソッドは、TV チャンネルを TV 周波数に変換するチャンネル-周波数関数呼び出しを処理します。チャンネルの周波数一覧については、International Analog TV Tuning を参照してください。

vtbl 4 HRESULT get_Channel(INT* plChannel, INT* plVideoSubChannel, INT* plAudioSubChannel)

get_Channel メソッドは、チューナーが設定されているチャンネルを取得します。

plChannelINT*outチャンネルを受け取る変数へのポインター。周波数については International Analog TV Tuning を参照してください。
plVideoSubChannelINT*out

ビデオサブチャンネル、または次のいずれかのフラグを受け取る変数へのポインター:

説明
AMTUNER_SUBCHAN_DEFAULT 既定のサブチャンネル
AMTUNER_SUBCHAN_NO_TUNE サブチャンネルのチューニングなし
plAudioSubChannelINT*out

オーディオサブチャンネル、または次のいずれかのフラグを受け取る変数へのポインター:

説明
AMTUNER_SUBCHAN_DEFAULT 既定のサブチャンネル
AMTUNER_SUBCHAN_NO_TUNE サブチャンネルのチューニングなし

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。

vtbl 5 HRESULT ChannelMinMax(INT* lChannelMin, INT* lChannelMax)

ChannelMinMax メソッドは、利用可能な最高および最低のチャンネルを取得します。

lChannelMinINT*out最低チャンネルを受け取る変数へのポインター。
lChannelMaxINT*out最高チャンネルを受け取る変数へのポインター。

戻り値

HRESULT 値を返します。取り得る値には次のものが含まれます。

戻り値コード 説明
E_POINTER
NULL ポインター引数
S_OK
成功
vtbl 6 HRESULT put_CountryCode(INT lCountryCode)

put_CountryCode メソッドは、使用する周波数を確定するために国/地域コードを設定します。

lCountryCodeINTin国/地域コードを示す値。

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。

解説(Remarks)

このメソッドは、指定した国/地域の基準周波数を確定します。新しい国/地域に対して以前にキャッシュされた設定がない限り、特定の地域の正確な周波数を判定するには IAMTVTuner::AutoTune メソッドを使用してください。

国や地域によってチャンネルが異なる周波数にマッピングされるため、付録 International Analog TV Tuning に世界全体のマッピングテーブルが用意されています。付録から新しい値を選び、それを put_CountryCode メソッドのパラメーターとして渡すことで、既存の国/地域コードを上書きできます。これは、ある国/地域が別の国の放送映像を受信したい場合に役立ちます。

vtbl 7 HRESULT get_CountryCode(INT* plCountryCode)

get_CountryCode メソッドは、現在のチャンネル-周波数マッピングを確定している国/地域コードを取得します。

plCountryCodeINT*outTV Tuner フィルターが現在使用している国/地域コードを受け取る変数へのポインター。

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。

解説(Remarks)

IAMTuner::put_CountryCode メソッドは、どのチャンネル-周波数マッピングテーブルを使用するかを決定します。これにより、指定した国/地域の基準周波数が確定します。特定の地域の正確な周波数を判定するには IAMTVTuner::AutoTune メソッドを使用してください。

ある国/地域が別の国の放送映像を受信したい場合は、国/地域コードを上書きします。国/地域コードの一覧については、International Analog TV Tuning を参照してください。

vtbl 8 HRESULT put_TuningSpace(INT lTuningSpace)

put_TuningSpace メソッドは、地域ごとのチャンネル-周波数マッピングの格納インデックスを設定します。

lTuningSpaceINTin現在のロケールを示す値。

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。

解説(Remarks)

TV チューナーがポータブルシステムに搭載されるようになるにつれ、利用可能なチャンネルとその実際の周波数についてロケール固有のマッピングを保持する必要があります。ロケールごとに異なる lTuningSpace 値を設定することで、地域から地域へ移動する際にチャンネル-周波数マッピングを切り替える手段が得られます。

vtbl 9 HRESULT get_TuningSpace(INT* plTuningSpace)

get_TuningSpace メソッドは、チューニングスペースを取得します。

plTuningSpaceINT*out現在のチューニングスペースを受け取る変数へのポインター。

戻り値

HRESULT 値を返します。

解説(Remarks)

このメソッドが取得する値はアプリケーションが定義します。値は IAMTuner::put_TuningSpace の呼び出しを通じて設定されます。

vtbl 10 HRESULT Logon(HANDLE hCurrentUser)

Logon メソッドは、ユーザーをシステムにログオンさせます。

hCurrentUserHANDLEin現在のユーザーを識別するアプリケーション定義のデータ構造体へのハンドル。

戻り値

HRESULT 値を返します。

解説(Remarks)

Logon メソッドと Logout メソッドにより、ユーザーの選択的なアクセス制御を実装できます。

vtbl 11 HRESULT Logout()

Logout メソッドは、現在のユーザーをログアウトさせます。

戻り値

HRESULT 値を返します。

vtbl 12 HRESULT SignalPresent(INT* plSignalStrength)

SignalPresent メソッドは、指定したチャンネルの信号強度を取得します。

plSignalStrengthINT*out

現在のチャンネルに信号が存在するかどうかを示す値を受け取る変数へのポインター。次のいずれかの値になります。

説明
AMTUNER_HASNOSIGNALSTRENGTH -1
AMTUNER_NOSIGNAL 0
AMTUNER_SIGNALPRESENT 1

AMTUNER_HASNOSIGNALSTRENGTH の値は、現時点では信号強度を判定できないことを意味します。

戻り値

HRESULT 値を返します。

vtbl 13 HRESULT put_Mode(AMTunerModeType lMode)

put_Mode メソッドは、多機能チューナーを指定したモードに設定します。

lModeAMTunerModeTypein

切り替えるモードを示すフラグ。取り得る値は AMTunerModeType 列挙体で定義されています。

カードが対応している場合は、モードをデジタル TV に設定することもできます。そのためには、AMTUNER_MODE_DTV を値 0x0010 として定義します。

戻り値

HRESULT 値を返します。

vtbl 14 HRESULT get_Mode(AMTunerModeType* plMode)

get_Mode メソッドは、多機能チューナーの現在のモードを取得します。

plModeAMTunerModeType*out現在のモード設定を示すフラグを受け取る変数へのポインター。取り得る値は AMTunerModeType 列挙体で定義されています。

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。

vtbl 15 HRESULT GetAvailableModes(INT* plModes)

GetAvailableModes メソッドは、チューナーが対応しているモードを取得します。

plModesINT*outAMTunerModeType 列挙体で指定されている値の任意の組み合わせを受け取る変数へのポインター。

戻り値

HRESULT 値を返します。

vtbl 16 HRESULT RegisterNotificationCallBack(IAMTunerNotification* pNotify, INT lEvents)

RegisterNotificationCallBack メソッドにより、チューナーの状態が変化したときにオブジェクトがイベント通知を受け取れるようになります。

pNotifyIAMTunerNotification*inイベント通知を受け取る IAMTunerNotification インターフェイスへのポインター。
lEventsINTinイベントが発生したことを示すフラグ。

戻り値

E_NOTIMPL を返します。

vtbl 17 HRESULT UnRegisterNotificationCallBack(IAMTunerNotification* pNotify)

UnRegisterNotificationCallBack メソッドは、イベント通知に対するオブジェクトの登録を解除します。(IAMTuner.UnRegisterNotificationCallBack)

pNotifyIAMTunerNotification*in以前の RegisterNotificationCallBack 呼び出しで指定した IAMTunerNotification インターフェイスへのポインター。

戻り値

E_NOTIMPL を返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IAMTuner "{211A8761-03AC-11D1-8D13-00AA00BD8339}"
#usecom global IAMTuner IID_IAMTuner "{}"
#comfunc global IAMTuner_put_Channel                     3 int,int,int
#comfunc global IAMTuner_get_Channel                     4 var,var,var
#comfunc global IAMTuner_ChannelMinMax                   5 var,var
#comfunc global IAMTuner_put_CountryCode                 6 int
#comfunc global IAMTuner_get_CountryCode                 7 var
#comfunc global IAMTuner_put_TuningSpace                 8 int
#comfunc global IAMTuner_get_TuningSpace                 9 var
#comfunc global IAMTuner_Logon                           10 sptr
#comfunc global IAMTuner_Logout                          11
#comfunc global IAMTuner_SignalPresent                   12 var
#comfunc global IAMTuner_put_Mode                        13 int
#comfunc global IAMTuner_get_Mode                        14 var
#comfunc global IAMTuner_GetAvailableModes               15 var
#comfunc global IAMTuner_RegisterNotificationCallBack    16 sptr,int
#comfunc global IAMTuner_UnRegisterNotificationCallBack  17 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。