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

IXDSCodec

COM
IIDc4c4c4b3-0049-4e2b-98fb-9537f6ce516d継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT get_XDSToRatObjOK(HRESULT* pHrCoCreateRetVal)
pHrCoCreateRetValHRESULT*outXDS→格付け変換オブジェクトのCoCreate結果HRESULTを受け取る出力。S_OKで生成成功を示す。
vtbl 4 HRESULT put_CCSubstreamService(INT SubstreamMask)
SubstreamMaskINTinクローズドキャプションのサブストリームサービスを選択するビットマスク。INTで指定する。
vtbl 5 HRESULT get_CCSubstreamService(INT* pSubstreamMask)
pSubstreamMaskINT*out現在のクローズドキャプションサブストリーム選択マスクを受け取るINT出力。
vtbl 6 HRESULT GetContentAdvisoryRating(INT* pRat, INT* pPktSeqID, INT* pCallSeqID, LONGLONG* pTimeStart, LONGLONG* pTimeEnd)
pRatINT*outコンテンツ勧告格付け値を受け取るINT出力。
pPktSeqIDINT*out対象XDSパケットのシーケンスIDを受け取るINT出力。
pCallSeqIDINT*out呼び出しシーケンスIDを受け取るINT出力。
pTimeStartLONGLONG*out格付け有効区間の開始時刻を受け取るLONGLONG出力。
pTimeEndLONGLONG*out格付け有効区間の終了時刻を受け取るLONGLONG出力。
vtbl 7 HRESULT GetXDSPacket(INT* pXDSClassPkt, INT* pXDSTypePkt, LPWSTR* pBstrXDSPkt, INT* pPktSeqID, INT* pCallSeqID, LONGLONG* pTimeStart, LONGLONG* pTimeEnd)
pXDSClassPktINT*outXDSパケットのクラスを受け取るINT出力。
pXDSTypePktINT*outXDSパケットの種別を受け取るINT出力。
pBstrXDSPktLPWSTR*outXDSパケットの内容文字列を受け取る出力。呼び出し側で解放する。
pPktSeqIDINT*outパケットのシーケンスIDを受け取るINT出力。
pCallSeqIDINT*out呼び出しシーケンスIDを受け取るINT出力。
pTimeStartLONGLONG*outパケット有効区間の開始時刻を受け取るLONGLONG出力。
pTimeEndLONGLONG*outパケット有効区間の終了時刻を受け取るLONGLONG出力。
vtbl 8 HRESULT GetCurrLicenseExpDate(ProtType* protType, INT* lpDateTime)
protTypeProtType*in保護種別を受け取るProtType列挙値の出力。
lpDateTimeINT*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 方式にも切替可。