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

IXDSCodec

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

公式ドキュメント

IXDSCodec インターフェースは XDS Codec フィルターによって公開されます。ほとんどのアプリケーションでは、このインターフェースを使用する必要はありません。

解説(Remarks)

このインターフェースのインターフェース識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IXDSCodec)

メソッド 7

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

vtbl 3 HRESULT get_XDSToRatObjOK(HRESULT* pHrCoCreateRetVal)

get_XDSToRatObjOK メソッドは、XDSToRat オブジェクトが正常に作成されたかどうかを照会します。

pHrCoCreateRetValHRESULT*outHRESULT 値を受け取ります。この HRESULT は、フィルターが XDSToRat オブジェクトを作成するために CoCreateInstance を呼び出したときに返された値です。S_OK に等しい場合、EvalRat オブジェクトは正常に作成されています。

戻り値

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

リターンコード 説明
E_POINTER
NULL ポインター引数
S_OK
成功
vtbl 4 HRESULT put_CCSubstreamService(INT SubstreamMask)

put_CCSubstreamService メソッドは、XDS Codec フィルターが XDSToRat オブジェクトに送信する line 21 データチャンネルを指定します。既定では、Extended Data Services (XDS) チャンネルのみがサポートされます。

SubstreamMaskINTinline 21 サービスを指定する、0 個以上の KS_CC_SUBSTREAM フラグのビット単位の組み合わせ。

戻り値

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

リターンコード 説明
E_INVALIDARG
無効な引数
S_OK
成功
vtbl 5 HRESULT get_CCSubstreamService(INT* pSubstreamMask)

get_CCSubstreamService メソッドは、XDS Codec フィルターが XDSToRat オブジェクトに送信する line 21 データチャンネルを照会します。既定では、Extended Data Services (XDS) チャンネルのみを送信します。

pSubstreamMaskINT*out0 個以上の KS_CC_SUBSTREAM フラグのビット単位の組み合わせを受け取ります。

戻り値

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

リターンコード 説明
E_POINTER
NULL ポインター引数
S_OK
成功
vtbl 6 HRESULT GetContentAdvisoryRating(INT* pRat, INT* pPktSeqID, INT* pCallSeqID, LONGLONG* pTimeStart, LONGLONG* pTimeEnd)

GetContentAdvisoryRating メソッドは、XDSToRat オブジェクトによって解析された最新のレーティング情報を取得します。

pRatINT*out最新のレーティングを受け取ります。レーティングは、XDS Codec フィルター、Encrypter/Tagger フィルター、および Decrypter/Detagger フィルターが内部的に使用する形式にパックされます。他のオブジェクトによる使用を想定したものではありません。
pPktSeqIDINT*outデコードされたレーティングパケットの数を受け取ります。この情報は診断目的で使用できます。
pCallSeqIDINT*out現在のレーティングパケットに対してこのメソッドが呼び出された回数を受け取ります。この情報は診断目的で使用できます。
pTimeStartLONGLONG*outレーティングパケットを完成させたサンプルの開始時刻を受け取ります。
pTimeEndLONGLONG*outレーティングパケットを完成させたサンプルの停止時刻を受け取ります。

戻り値

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

リターンコード 説明
E_POINTER
NULL ポインター引数
S_OK
成功
vtbl 7 HRESULT GetXDSPacket(INT* pXDSClassPkt, INT* pXDSTypePkt, LPWSTR* pBstrXDSPkt, INT* pPktSeqID, INT* pCallSeqID, LONGLONG* pTimeStart, LONGLONG* pTimeEnd)

GetXDSPacket メソッドは、最新の XDS パケットを取得します。

pXDSClassPktINT*outパケットクラスを受け取ります。
pXDSTypePktINT*outクラス固有のパケットタイプを受け取ります。
pBstrXDSPktLPWSTR*outパケットを BSTR 値として受け取ります。
pPktSeqIDINT*outデコードされたレーティングパケットの数を受け取ります。この情報は診断目的で使用できます。
pCallSeqIDINT*out現在のレーティングパケットに対してこのメソッドが呼び出された回数を受け取ります。この情報は診断目的で使用できます。
pTimeStartLONGLONG*outパケットを含むサンプルの開始時刻を受け取ります。
pTimeEndLONGLONG*outパケットを含むサンプルの停止時刻を受け取ります。

戻り値

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

リターンコード 説明
E_POINTER
NULL ポインター引数
S_OK
成功

解説(Remarks)

返される BSTR には、埋め込みの NULL 文字を含む可能性のあるバイナリデータが含まれます。呼び出し側は、SysFreeString を呼び出して、返された BSTR を解放する必要があります。

vtbl 8 HRESULT GetCurrLicenseExpDate(ProtType* protType, INT* lpDateTime)

このリリースでは実装されていません。

protTypeProtType*in予約済みです。
lpDateTimeINT*out予約済みです。

戻り値

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

vtbl 9 HRESULT GetLastErrorCode()

このリリースでは実装されていません。

戻り値

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

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_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 方式にも切替可。