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

IETFilter

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

公式ドキュメント

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

解説(Remarks)

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

メソッド 5

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

vtbl 3 HRESULT get_EvalRatObjOK(HRESULT* pHrCoCreateRetVal)

.

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

戻り値

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

戻り値 説明
E_POINTER
NULL ポインター引数
S_OK
成功
vtbl 4 HRESULT GetCurrRating(EnTvRat_System* pEnSystem, EnTvRat_GenericLevel* pEnRating, INT* plbfEnAttr)

GetCurrRating メソッドは、最新のメディアサンプルに基づいて現在のレーティングを取得します。

pEnSystemEnTvRat_System*outレーティングシステムを EnTvRat_System 列挙型として受け取ります。
pEnRatingEnTvRat_GenericLevel*outレーティングレベルを EnTvRat_GenericLevel 列挙型として受け取ります。この値の意味はレーティングシステムによって異なります。
plbfEnAttrINT*outBfEnTvRat_GenericAttributes 列挙体のフラグのビット単位の組み合わせを受け取ります。これらのフラグは、暴力や成人向けの言葉遣いなどのコンテンツ属性を指定します。コンテンツ属性は、すべてのレーティングシステムに適用されるわけではありません。

戻り値

成功した場合は S_OK を、それ以外の場合はエラーコードを返します。

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

このメソッドは現在サポートされていません。

protTypeProtType*in予約されています。
lpDateTimeINT*out予約されています。

戻り値

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

vtbl 6 HRESULT GetLastErrorCode()

実装されていません。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
E_NOTIMPL
実装されていません
vtbl 7 HRESULT SetRecordingOn(BOOL fRecState)

SetRecordingOn メソッドは、Video Control が録画を開始または停止しようとしていることを Encrypter/Tagger フィルターに通知します。

fRecStateBOOLin録画を開始しようとしている場合は TRUE、録画を停止しようとしている場合は FALSE です。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

SetRecordingOn メソッドを使用すると、Video Control はテレビ放送信号内のコピープロテクションを適用できます。Video Control が Stream Buffer Engine を使用してテレビコンテンツを再生する場合、Encrypter/Tagger フィルターは Stream Buffer Sink グラフ内に配置されます。Encrypter/Tagger は、再生と録画の両方のために Stream Buffer Sink にデータを送信します。SetRecordingOn が値 TRUE で呼び出されると、Encrypter/Tagger はビデオストリームのコピープロテクションフラグを監視し、それらが変化した場合にはブロードキャストイベントを送信します。Video Control はこのイベントを待ち受け、コピープロテクションフラグで示されている場合には録画を禁止します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IETFilter "{C4C4C4B1-0049-4E2B-98FB-9537F6CE516D}"
#usecom global IETFilter IID_IETFilter "{C4C4C4F1-0049-4E2B-98FB-9537F6CE516D}"
#comfunc global IETFilter_get_EvalRatObjOK       3 var
#comfunc global IETFilter_GetCurrRating          4 var,var,var
#comfunc global IETFilter_GetCurrLicenseExpDate  5 var,var
#comfunc global IETFilter_GetLastErrorCode       6
#comfunc global IETFilter_SetRecordingOn         7 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。