IXDSCodec
COM公式ドキュメント
IXDSCodec インターフェースは XDS Codec フィルターによって公開されます。ほとんどのアプリケーションでは、このインターフェースを使用する必要はありません。
解説(Remarks)
このインターフェースのインターフェース識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IXDSCodec)。
メソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
get_XDSToRatObjOK メソッドは、XDSToRat オブジェクトが正常に作成されたかどうかを照会します。
| pHrCoCreateRetVal | HRESULT* | out | HRESULT 値を受け取ります。この HRESULT は、フィルターが XDSToRat オブジェクトを作成するために CoCreateInstance を呼び出したときに返された値です。S_OK に等しい場合、EvalRat オブジェクトは正常に作成されています。 |
戻り値
put_CCSubstreamService メソッドは、XDS Codec フィルターが XDSToRat オブジェクトに送信する line 21 データチャンネルを指定します。既定では、Extended Data Services (XDS) チャンネルのみがサポートされます。
| SubstreamMask | INT | in | line 21 サービスを指定する、0 個以上の KS_CC_SUBSTREAM フラグのビット単位の組み合わせ。 |
戻り値
HRESULT 値を返します。取り得る値には次のものがあります。
| リターンコード | 説明 |
|---|---|
| 無効な引数 | |
| 成功 |
get_CCSubstreamService メソッドは、XDS Codec フィルターが XDSToRat オブジェクトに送信する line 21 データチャンネルを照会します。既定では、Extended Data Services (XDS) チャンネルのみを送信します。
| pSubstreamMask | INT* | out | 0 個以上の KS_CC_SUBSTREAM フラグのビット単位の組み合わせを受け取ります。 |
戻り値
GetContentAdvisoryRating メソッドは、XDSToRat オブジェクトによって解析された最新のレーティング情報を取得します。
| pRat | INT* | out | 最新のレーティングを受け取ります。レーティングは、XDS Codec フィルター、Encrypter/Tagger フィルター、および Decrypter/Detagger フィルターが内部的に使用する形式にパックされます。他のオブジェクトによる使用を想定したものではありません。 |
| pPktSeqID | INT* | out | デコードされたレーティングパケットの数を受け取ります。この情報は診断目的で使用できます。 |
| pCallSeqID | INT* | out | 現在のレーティングパケットに対してこのメソッドが呼び出された回数を受け取ります。この情報は診断目的で使用できます。 |
| pTimeStart | LONGLONG* | out | レーティングパケットを完成させたサンプルの開始時刻を受け取ります。 |
| pTimeEnd | LONGLONG* | out | レーティングパケットを完成させたサンプルの停止時刻を受け取ります。 |
戻り値
GetXDSPacket メソッドは、最新の XDS パケットを取得します。
| pXDSClassPkt | INT* | out | パケットクラスを受け取ります。 |
| pXDSTypePkt | INT* | out | クラス固有のパケットタイプを受け取ります。 |
| pBstrXDSPkt | LPWSTR* | out | パケットを BSTR 値として受け取ります。 |
| pPktSeqID | INT* | out | デコードされたレーティングパケットの数を受け取ります。この情報は診断目的で使用できます。 |
| pCallSeqID | INT* | out | 現在のレーティングパケットに対してこのメソッドが呼び出された回数を受け取ります。この情報は診断目的で使用できます。 |
| pTimeStart | LONGLONG* | out | パケットを含むサンプルの開始時刻を受け取ります。 |
| pTimeEnd | LONGLONG* | out | パケットを含むサンプルの停止時刻を受け取ります。 |
戻り値
解説(Remarks)
返される BSTR には、埋め込みの NULL 文字を含む可能性のあるバイナリデータが含まれます。呼び出し側は、SysFreeString を呼び出して、返された BSTR を解放する必要があります。
このリリースでは実装されていません。
| protType | ProtType* | in | 予約済みです。 |
| lpDateTime | INT* | out | 予約済みです。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
このリリースでは実装されていません。
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
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 方式にも切替可。#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(変数))。