ホーム › Media.DirectShow.Tv › IXDSCodec
IXDSCodec
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pHrCoCreateRetVal | HRESULT* | out | XDS→格付け変換オブジェクトのCoCreate結果HRESULTを受け取る出力。S_OKで生成成功を示す。 |
| SubstreamMask | INT | in | クローズドキャプションのサブストリームサービスを選択するビットマスク。INTで指定する。 |
| pSubstreamMask | INT* | out | 現在のクローズドキャプションサブストリーム選択マスクを受け取るINT出力。 |
vtbl 6 HRESULT GetContentAdvisoryRating(INT* pRat, INT* pPktSeqID, INT* pCallSeqID, LONGLONG* pTimeStart, LONGLONG* pTimeEnd)
| pRat | INT* | out | コンテンツ勧告格付け値を受け取るINT出力。 |
| pPktSeqID | INT* | out | 対象XDSパケットのシーケンスIDを受け取るINT出力。 |
| pCallSeqID | INT* | out | 呼び出しシーケンスIDを受け取るINT出力。 |
| pTimeStart | LONGLONG* | out | 格付け有効区間の開始時刻を受け取るLONGLONG出力。 |
| pTimeEnd | LONGLONG* | out | 格付け有効区間の終了時刻を受け取るLONGLONG出力。 |
vtbl 7 HRESULT GetXDSPacket(INT* pXDSClassPkt, INT* pXDSTypePkt, LPWSTR* pBstrXDSPkt, INT* pPktSeqID, INT* pCallSeqID, LONGLONG* pTimeStart, LONGLONG* pTimeEnd)
| pXDSClassPkt | INT* | out | XDSパケットのクラスを受け取るINT出力。 |
| pXDSTypePkt | INT* | out | XDSパケットの種別を受け取るINT出力。 |
| pBstrXDSPkt | LPWSTR* | out | XDSパケットの内容文字列を受け取る出力。呼び出し側で解放する。 |
| pPktSeqID | INT* | out | パケットのシーケンスIDを受け取るINT出力。 |
| pCallSeqID | INT* | out | 呼び出しシーケンスIDを受け取るINT出力。 |
| pTimeStart | LONGLONG* | out | パケット有効区間の開始時刻を受け取るLONGLONG出力。 |
| pTimeEnd | LONGLONG* | out | パケット有効区間の終了時刻を受け取るLONGLONG出力。 |
| protType | ProtType* | in | 保護種別を受け取るProtType列挙値の出力。 |
| lpDateTime | INT* | out | 現在のライセンス有効期限日時を受け取るINT出力。 |
vtbl 9 HRESULT GetLastErrorCode()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IXDSCodec "{C4C4C4B3-0049-4E2B-98FB-9537F6CE516D}" #usecom global IXDSCodec IID_IXDSCodec "{C4C4C4F3-0049-4E2B-98FB-9537F6CE516D}" #comfunc global IXDSCodec_get_XDSToRatObjOK 3 var #comfunc global IXDSCodec_put_CCSubstreamService 4 int #comfunc global IXDSCodec_get_CCSubstreamService 5 var #comfunc global IXDSCodec_GetContentAdvisoryRating 6 var,var,var,var,var #comfunc global IXDSCodec_GetXDSPacket 7 var,var,var,var,var,var,var #comfunc global IXDSCodec_GetCurrLicenseExpDate 8 var,var #comfunc global IXDSCodec_GetLastErrorCode 9 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IXDSCodec "{C4C4C4B3-0049-4E2B-98FB-9537F6CE516D}" #usecom global IXDSCodec IID_IXDSCodec "{C4C4C4F3-0049-4E2B-98FB-9537F6CE516D}" #comfunc global IXDSCodec_get_XDSToRatObjOK 3 sptr #comfunc global IXDSCodec_put_CCSubstreamService 4 int #comfunc global IXDSCodec_get_CCSubstreamService 5 sptr #comfunc global IXDSCodec_GetContentAdvisoryRating 6 sptr,sptr,sptr,sptr,sptr #comfunc global IXDSCodec_GetXDSPacket 7 sptr,sptr,sptr,sptr,sptr,sptr,sptr #comfunc global IXDSCodec_GetCurrLicenseExpDate 8 sptr,sptr #comfunc global IXDSCodec_GetLastErrorCode 9 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。