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

ISCTE_EAS

COM
IID1ff544d6-161d-4fae-9faa-4f9f492ae999継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ISCTE_EAS インターフェースを使用すると、クライアントは ATSC の緊急警報メッセージ (EAS) テーブルからデータを取得できます。

メソッド 29

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

vtbl 3 HRESULT Initialize(ISectionList* pSectionList, IMpeg2Data* pMPEGData)

Initialize メソッドは、キャプチャしたテーブルセクションデータを使用してオブジェクトを初期化します。このメソッドは IAtscPsipParser::GetEAS メソッドによって内部的に呼び出されるため、通常はアプリケーションから呼び出す必要はありません。

pSectionListISectionList*inoptionalISectionList インターフェースへのポインター。
pMPEGDataIMpeg2Data*inoptionalMPEG-2 Sections and Tables フィルターの IMpeg2Data インターフェースへのポインター。

戻り値

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

戻り値コード 説明
E_INVALIDARG
引数が無効です。
E_OUTOFMEMORY
メモリが不足しています。
MPEG2_E_MALFORMED_TABLE
EAS テーブルが正しく構成されていません。
S_OK
メソッドが成功しました。
vtbl 4 HRESULT GetVersionNumber(BYTE* pbVal)

GetVersionNumber メソッドは、EAS テーブルのバージョン番号を返します。

pbValBYTE*outversion_number フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 5 HRESULT GetSequencyNumber(BYTE* pbVal)

GetSequencyNumber メソッドは、シーケンス番号を返します。

pbValBYTE*outsequence_number フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 6 HRESULT GetProtocolVersion(BYTE* pbVal)

GetProtocolVersion メソッドは、EAS テーブルのプロトコルバージョンを返します。

pbValBYTE*outprotocol_version フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 7 HRESULT GetEASEventID(WORD* pwVal)

GetEASEventID メソッドは、この緊急イベントの識別子を返します。

pwValWORD*outEAS_Event_ID フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 8 HRESULT GetOriginatorCode(BYTE* pbVal)

GetOriginatorCode メソッドは、EAS 発信元コードを返します。

pbValBYTE*outEAS_originator_code フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 9 HRESULT GetEASEventCodeLen(BYTE* pbVal)

GetEASEventCodeLen メソッドは、EAS イベントコードのサイズを返します。

pbValBYTE*outEAS イベントコードのサイズをバイト単位で受け取ります。イベントコードを取得するには、このサイズのバッファーを割り当てて ISCTE_EAS::GetEASEventCode を呼び出します。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 10 HRESULT GetEASEventCode(BYTE* pbVal)

GetEASEventCode メソッドは、EAS イベントコードを返します。

pbValBYTE*outEAS_event_code フィールドを受け取るバッファーへのポインター。呼び出し側がバッファーを割り当てる必要があり、イベントコードを保持できる十分な大きさが必要です。必要なバッファーサイズを取得するには ISCTE_EAS::GetEASEventCodeLen を呼び出します。イベントコードは ASCII 文字で構成されます。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 11 HRESULT GetRawNatureOfActivationTextLen(BYTE* pbVal)

nature_of_activation_text フィールドの長さを取得します。

pbValBYTE*outnature_of_activation_text フィールドのサイズをバイト単位で受け取ります。フィールドの値を取得するには、このサイズのバッファーを割り当てて ISCTE_EAS::GetRawNatureOfActivationText を呼び出します。

戻り値

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

vtbl 12 HRESULT GetRawNatureOfActivationText(BYTE* pbVal)

EAS テーブルから生の nature_of_activation_text フィールドを取得します。

pbValBYTE*outnature_of_activation_text フィールドを受け取るバッファーへのポインター。呼び出し側がバッファーを割り当てる必要があります。必要なバッファーサイズを取得するには ISCTE_EAS::GetRawNatureOfActivationTextLen を呼び出します。テキストは ATSC PSIP 規格 A/65 で定義される Multiple String Structure 形式です。

戻り値

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

解説(Remarks)

特定の言語のテキストを取得するには ISCTE_EAS::GetNatureOfActivationText を呼び出します。

vtbl 13 HRESULT GetNatureOfActivationText(LPWSTR bstrIS0639code, LPWSTR* pbstrString)

GetNatureOfActivationText メソッドは、指定された ISO 639 言語コードに対応する警報のテキスト表現を取得します。

bstrIS0639codeLPWSTRinISO 639 言語コード。
pbstrStringLPWSTR*outテキストを BSTR として受け取ります。呼び出し側は SysFreeString を呼び出して文字列を解放する必要があります。

戻り値

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

戻り値コード 説明
S_OK
メソッドが成功しました。
E_FAIL
指定された言語が存在しません。

解説(Remarks)

返される文字列は、ANSI-J-STD-042-A で定義される nature_of_activation_text フィールドから取得されます。

注意 以前のバージョンのドキュメントでは、このメソッドのシグネチャが誤って記載されていました。
vtbl 14 HRESULT GetTimeRemaining(BYTE* pbVal)

GetTimeRemaining メソッドは、警報メッセージの残り時間を返します。

pbValBYTE*outalert_message_time_remaining フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 15 HRESULT GetStartTime(DWORD* pdwVal)

GetStartTime メソッドは、警報の開始時刻を返します。

pdwValDWORD*outevent_start_time フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 16 HRESULT GetDuration(WORD* pwVal)

GetDuration メソッドは、警報の予想される継続時間を返します。

pwValWORD*outevent_duration フィールドを受け取ります。このフィールドの値は予想される継続時間を分単位で表し、最上位ビットが先頭になります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 17 HRESULT GetAlertPriority(BYTE* pbVal)

GetAlertPriority メソッドは、警報の優先度を返します。

pbValBYTE*outalert_priority フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 18 HRESULT GetDetailsOOBSourceID(WORD* pwVal)

GetDetailsOOBSourceID メソッドは、緊急警報の詳細情報用仮想チャンネルのソース識別子を返します。

pwValWORD*outdetails_OOB_source_ID フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 19 HRESULT GetDetailsMajor(WORD* pwVal)

GetDetailsMajor メソッドは、詳細情報チャンネルのメジャーチャンネル番号を返します。

pwValWORD*outdetails_major_channel_number フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 20 HRESULT GetDetailsMinor(WORD* pwVal)

GetDetailsMinor メソッドは、詳細情報チャンネルのマイナーチャンネル番号を返します。

pwValWORD*outdetails_minor_channel_number フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 21 HRESULT GetDetailsAudioOOBSourceID(WORD* pwVal)

GetDetailsAudioOOBSourceID メソッドは、緊急警報の音声用仮想チャンネルのソース識別子を返します。

pwValWORD*outaudio_OOB_source_ID フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 22 HRESULT GetAlertText(LPWSTR bstrIS0639code, LPWSTR* pbstrString)

GetAlertText メソッドは、指定された ISO 639 言語コードに対応する警報テキストを取得します。

bstrIS0639codeLPWSTRinISO 639 言語コード。
pbstrStringLPWSTR*out警報テキストを BSTR として受け取ります。呼び出し側は SysFreeString を呼び出して文字列を解放する必要があります。

戻り値

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

戻り値コード 説明
S_OK
メソッドが成功しました。
E_FAIL
指定された言語が存在しません。

解説(Remarks)

返される文字列は、ANSI-J-STD-042-A で定義される alert_text フィールドから取得されます。

注意 以前のバージョンのドキュメントでは、このメソッドのシグネチャが誤って記載されていました。
vtbl 23 HRESULT GetRawAlertTextLen(WORD* pwVal)

alert_text フィールドの長さを取得します。

pwValWORD*outalert_text フィールドのサイズをバイト単位で受け取ります。フィールドの値を取得するには、このサイズのバッファーを割り当てて ISCTE_EAS::GetRawAlertText を呼び出します。

戻り値

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

vtbl 24 HRESULT GetRawAlertText(BYTE* pbVal)

EAS テーブルから生の alert_text フィールドを取得します。

pbValBYTE*outalert_text フィールドを受け取るバッファーへのポインター。呼び出し側がバッファーを割り当てる必要があります。必要なバッファーサイズを取得するには ISCTE_EAS::GetRawAlertTextLen を呼び出します。テキストは ATSC PSIP 規格 A/65 で定義される Multiple String Structure 形式です。

戻り値

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

解説(Remarks)

特定の言語の警報テキストを取得するには ISCTE_EAS::GetAlertText を呼び出します。

vtbl 25 HRESULT GetLocationCount(BYTE* pbVal)

GetLocationCount メソッドは、EAS テーブル内のロケーション数を返します。

pbValBYTE*outlocation_code_count フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 26 HRESULT GetLocationCodes(BYTE bIndex, BYTE* pbState, BYTE* pbCountySubdivision, WORD* pwCounty)

GetLocationCodes メソッドは、EAS テーブルからロケーションコードを返します。

bIndexBYTEin取得するロケーションコードの 0 から始まるインデックス。ロケーション数を取得するには ISCTE_EAS::GetLocationCount を呼び出します。
pbStateBYTE*outstate_code フィールドを受け取ります。
pbCountySubdivisionBYTE*outcounty_subdivision フィールドを受け取ります。
pwCountyWORD*outcounty_code フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_OUT_OF_BOUNDS
インデックスが範囲外です。
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 27 HRESULT GetExceptionCount(BYTE* pbVal)

GetExceptionCount メソッドは、例外サービスの数を返します。

pbValBYTE*outexception_count フィールドを受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 28 HRESULT GetExceptionService(BYTE bIndex, BYTE* pbIBRef, WORD* pwFirst, WORD* pwSecond)

GetExceptionService メソッドは、例外サービスに関する情報を返します。

bIndexBYTEin取得する例外サービスの 0 から始まるインデックス。例外サービスの数を取得するには ISCTE_EAS::GetExceptionCount を呼び出します。
pbIBRefBYTE*outin_band_reference フラグを受け取ります。
pwFirstWORD*outin_band_reference フラグが TRUE の場合は exception_major_channel_number フィールドを受け取ります。それ以外の場合は exception_OOB_source_ID フィールドを受け取ります。
pwSecondWORD*outin_band_reference フラグが TRUE の場合は exception_minor_channel_number フィールドを受け取ります。それ以外の場合は値が未定義であり、このパラメーターは無視してください。

戻り値

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

戻り値コード 説明
MPEG2_E_OUT_OF_BOUNDS
インデックスが範囲外です。
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 29 HRESULT GetCountOfTableDescriptors(DWORD* pdwVal)

GetCountOfTableDescriptors メソッドは、EAS テーブル内の記述子の数を返します。

pdwValDWORD*out記述子の数を受け取ります。

戻り値

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

戻り値コード 説明
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 30 HRESULT GetTableDescriptorByIndex(DWORD dwIndex, IGenericDescriptor** ppDescriptor)

GetTableDescriptorByIndex メソッドは、EAS テーブルの記述子を返します。

dwIndexDWORDin取得する記述子の 0 から始まるインデックス。テーブル記述子の数を取得するには ISCTE_EAS::GetCountOfTableDescriptors メソッドを呼び出します。
ppDescriptorIGenericDescriptor**outIGenericDescriptor インターフェースへのポインターを受け取ります。呼び出し側はインターフェースを解放する必要があります。

戻り値

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

戻り値コード 説明
MPEG2_E_OUT_OF_BOUNDS
インデックスが範囲外です。
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
S_OK
メソッドが成功しました。
vtbl 31 HRESULT GetTableDescriptorByTag(BYTE bTag, DWORD* pdwCookie, IGenericDescriptor** ppDescriptor)

GetTableDescriptorByTag メソッドは、指定された記述子タグを持つ記述子を EAS テーブルから検索します。

bTagBYTEin検索する記述子タグ。
pdwCookieDWORD*inout記述子リスト内の開始位置を指定する変数へのポインター。このパラメーターは NULL にできます。値が NULL の場合、検索はリストの最初の記述子から開始されます。それ以外の場合、検索は *pdwCookie で指定された位置から開始されます。メソッドが返るとき、pdwCookie パラメーターには、次に一致する記述子があればその位置が格納されます。このパラメーターを使用して記述子リストを反復処理し、特定の記述子タグのすべてのインスタンスを検索できます。
ppDescriptorIGenericDescriptor**outIGenericDescriptor インターフェースへのポインターを受け取ります。このインターフェースを使用して記述子内の情報を取得します。呼び出し側はインターフェースを解放する必要があります。

戻り値

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

戻り値コード 説明
MPEG2_E_NOT_PRESENT
指定されたタグが見つかりませんでした。
MPEG2_E_OUT_OF_BOUNDS
インデックスが範囲外です。
MPEG2_E_UNINITIALIZED
ISCTE_EAS::Initialize メソッドが呼び出されていません。
MPEG2_S_MORE_DATA_AVAILABLE
このタグを持つ記述子がレコードにさらに 1 つ以上含まれています。
MPEG2_S_NO_MORE_DATA_AVAILABLE
このタグを持つ記述子はレコードにこれ以上含まれていません。
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_ISCTE_EAS "{1FF544D6-161D-4FAE-9FAA-4F9F492AE999}"
#usecom global ISCTE_EAS IID_ISCTE_EAS "{}"
#comfunc global ISCTE_EAS_Initialize                       3 sptr,sptr
#comfunc global ISCTE_EAS_GetVersionNumber                 4 var
#comfunc global ISCTE_EAS_GetSequencyNumber                5 var
#comfunc global ISCTE_EAS_GetProtocolVersion               6 var
#comfunc global ISCTE_EAS_GetEASEventID                    7 var
#comfunc global ISCTE_EAS_GetOriginatorCode                8 var
#comfunc global ISCTE_EAS_GetEASEventCodeLen               9 var
#comfunc global ISCTE_EAS_GetEASEventCode                  10 var
#comfunc global ISCTE_EAS_GetRawNatureOfActivationTextLen  11 var
#comfunc global ISCTE_EAS_GetRawNatureOfActivationText     12 var
#comfunc global ISCTE_EAS_GetNatureOfActivationText        13 wstr,var
#comfunc global ISCTE_EAS_GetTimeRemaining                 14 var
#comfunc global ISCTE_EAS_GetStartTime                     15 var
#comfunc global ISCTE_EAS_GetDuration                      16 var
#comfunc global ISCTE_EAS_GetAlertPriority                 17 var
#comfunc global ISCTE_EAS_GetDetailsOOBSourceID            18 var
#comfunc global ISCTE_EAS_GetDetailsMajor                  19 var
#comfunc global ISCTE_EAS_GetDetailsMinor                  20 var
#comfunc global ISCTE_EAS_GetDetailsAudioOOBSourceID       21 var
#comfunc global ISCTE_EAS_GetAlertText                     22 wstr,var
#comfunc global ISCTE_EAS_GetRawAlertTextLen               23 var
#comfunc global ISCTE_EAS_GetRawAlertText                  24 var
#comfunc global ISCTE_EAS_GetLocationCount                 25 var
#comfunc global ISCTE_EAS_GetLocationCodes                 26 int,var,var,var
#comfunc global ISCTE_EAS_GetExceptionCount                27 var
#comfunc global ISCTE_EAS_GetExceptionService              28 int,var,var,var
#comfunc global ISCTE_EAS_GetCountOfTableDescriptors       29 var
#comfunc global ISCTE_EAS_GetTableDescriptorByIndex        30 int,sptr
#comfunc global ISCTE_EAS_GetTableDescriptorByTag          31 int,var,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。