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

IDvbServiceDescriptor

COM
IIDf9c7fbcf-e2d6-464d-b32d-2ef526e49290継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

Digital Video Broadcast (DVB) のサービス記述子からデータを取得するメソッドを実装します。

メソッド 8

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

vtbl 3 HRESULT GetTag(BYTE* pbVal)

Digital Video Broadcast (DVB) のサービス記述子を識別するタグを取得します。

pbValBYTE*outサービス記述子のタグを受け取ります。サービス記述子の場合、この値は 0x48 です。

戻り値

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

vtbl 4 HRESULT GetLength(BYTE* pbVal)

Digital Video Broadcast (DVB) のサービス記述子の長さを取得します。

pbValBYTE*out記述子の長さをバイト単位で受け取ります。

戻り値

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

vtbl 5 HRESULT GetServiceType(BYTE* pbVal)

Digital Video Broadcast (DVB) のサービス記述子から service_type フィールドの値を取得します。

pbValBYTE*out

サービスの種類を受け取ります。次のいずれかの値になります。

意味
0x00
将来の使用のために予約されています。
0x01
デジタルテレビサービス。(MPEG-2 の標準解像度 [SD] 素材はこの種類を使用します。)
0x02
デジタルラジオ音声サービス。(MPEG-1 Layer 2 の音声素材はこの種類を使用します。)
0x03
テレテキストサービス。
0x04
ニアビデオオンデマンド (NVOD) リファレンスサービス。(MPEG-2 SD 素材はこの種類を使用します。)
0x05
NVOD タイムシフトサービス。(MPEG-2 SD 素材はこの種類を使用します。)
0x06
モザイクサービス
0x07-0x09
将来の使用のために予約されています。
0x0A
高度コーデックのデジタルラジオ音声サービス。
0x0B
高度コーデックのモザイクサービス。
0x0C
データ放送サービス。
0x0D
Common Interface での使用のために予約されています (CENELEC EN 50221: "Common interface specification for conditional access and other digital video broadcasting decoder applications" を参照)
0x0E
Return Channel Satellite (RCS) マップ (Digital Video Broadcasting (DVB); Interaction channel for satellite distribution systems, ETSI EN 301 790 を参照)。
0x0F
RCS Forward Link Signalling (FLS) (EN 301 790 を参照)。
0x10
DVB Multimedia Home Platform (MHP) サービス。
0x11
MPEG-2 の高解像度 (HD) デジタルテレビサービス
0x12-0x15
将来の使用のために予約されています。
0x16
高度コーデックの SD デジタルテレビサービス。
0x17
高度コーデックの SD NVOD タイムシフトサービス。
0x18
高度コーデックの SD NVOD リファレンスサービス。
0x19
高度コーデックの HD デジタルテレビサービス。
0x1A
高度コーデックの HD NVOD タイムシフトサービス。
0x1B
高度コーデックの HD NVOD タイムシフトサービス。
0x1C - 0x7F
将来の使用のために予約されています
0x80 - 0xFE
ユーザー定義
0xFF
将来の使用のために予約されています

戻り値

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

vtbl 6 HRESULT GetServiceProviderName(BYTE** pszName)

Digital Video Broadcast (DVB) のサービス記述子からサービスプロバイダー名を取得します。

pszNameBYTE**outサービスプロバイダー名を受け取るバッファーへのポインター。このメモリの解放は呼び出し側の責任です。

戻り値

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

vtbl 7 HRESULT GetServiceProviderNameW(LPWSTR* pbstrName)

Digital Video Broadcast (DVB) のサービス記述子からサービスプロバイダー名の文字列を取得します。

pbstrNameLPWSTR*outサービスプロバイダー名の文字列を受け取るバッファーへのポインター。このメモリの解放は呼び出し側の責任です。

戻り値

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

vtbl 8 HRESULT GetServiceName(BYTE** pszName)

Digital Video Broadcast (DVB) のサービス記述子から service_name フィールドを取得します。

pszNameBYTE**outサービス名を受け取るメモリブロックへのポインター。このメモリの解放は呼び出し側の責任です。

戻り値

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

vtbl 9 HRESULT GetProcessedServiceName(LPWSTR* pbstrName)

Digital Video Broadcast (DVB) のサービス記述子から処理済みのサービス名を取得します。

pbstrNameLPWSTR*outサービス名を受け取るバッファーへのポインター。このメモリの解放は呼び出し側の責任です。

戻り値

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

解説(Remarks)

このメソッドは IDvbServiceDescriptor2::GetServiceNameW を呼び出して、処理済みのサービス名を取得します。元の DVB サービス記述子の仕様との互換性を維持するために提供されています。

vtbl 10 HRESULT GetServiceNameEmphasized(LPWSTR* pbstrName)

Digital Video Broadcast (DVB) のサービス記述子から強調されたサービス名を取得します。

pbstrNameLPWSTR*outサービス名を受け取るバッファーへのポインター。このメモリの解放は呼び出し側の責任です。

戻り値

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

解説(Remarks)

このメソッドは IDvbServiceDescriptor::GetServiceProviderNameW を呼び出して、強調されたサービス名を取得します。元の DVB サービス記述子の仕様との互換性を維持するために提供されています。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IDvbServiceDescriptor "{F9C7FBCF-E2D6-464D-B32D-2EF526E49290}"
#usecom global IDvbServiceDescriptor IID_IDvbServiceDescriptor "{}"
#comfunc global IDvbServiceDescriptor_GetTag                    3 var
#comfunc global IDvbServiceDescriptor_GetLength                 4 var
#comfunc global IDvbServiceDescriptor_GetServiceType            5 var
#comfunc global IDvbServiceDescriptor_GetServiceProviderName    6 var
#comfunc global IDvbServiceDescriptor_GetServiceProviderNameW   7 var
#comfunc global IDvbServiceDescriptor_GetServiceName            8 var
#comfunc global IDvbServiceDescriptor_GetProcessedServiceName   9 var
#comfunc global IDvbServiceDescriptor_GetServiceNameEmphasized  10 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。