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

IDTFilter

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

公式ドキュメント

IDTFilter インターフェイスは Decrypter/Detagger フィルターによって公開されます。アプリケーションはこのインターフェイスを使用して、レーティング(視聴制限)の許可を設定できます。

解説(Remarks)

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

メソッド 8

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

vtbl 3 HRESULT get_EvalRatObjOK(HRESULT* pHrCoCreateRetVal)

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

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 get_BlockedRatingAttributes(EnTvRat_System enSystem, EnTvRat_GenericLevel enLevel, INT* plbfEnAttr)

get_BlockedRatingAttributes メソッドは、指定したレーティングシステムおよびレーティングレベルに対してコンテンツがブロックされるかどうかを判定します。

enSystemEnTvRat_Systeminレーティングシステムを EnTvRat_System 列挙型として指定します。
enLevelEnTvRat_GenericLevelinレーティングレベルを EnTvRat_GenericLevel 列挙型として指定します。
plbfEnAttrINT*outBfEnTvRat_GenericAttributes 列挙のフラグのビット単位の組み合わせを受け取ります。

戻り値

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

リターンコード 説明
E_NOINTERFACE
EvalRat オブジェクトが正常に作成されませんでした。
S_OK
成功。

解説(Remarks)

フィルターはこの呼び出しを EvalRat オブジェクトへそのまま渡します。詳細については、IEvalRat::get_BlockedRatingAttributes を参照してください。

vtbl 6 HRESULT put_BlockedRatingAttributes(EnTvRat_System enSystem, EnTvRat_GenericLevel enLevel, INT lbfAttrs)

put_BlockedRatingAttributes メソッドは、指定したレーティングを持つコンテンツをブロックするかどうかを指定します。

enSystemEnTvRat_Systeminレーティングシステムを EnTvRat_System 列挙型として指定します。
enLevelEnTvRat_GenericLevelinレーティングレベルを EnTvRat_GenericLevel 列挙型として指定します。
lbfAttrsINTinBfEnTvRat_GenericAttributes 列挙の 0 個以上のフラグのビット単位の組み合わせです。

戻り値

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

リターンコード 説明
E_NOINTERFACE
EvalRat オブジェクトが正常に作成されませんでした。
S_OK
成功。

解説(Remarks)

フィルターはこの呼び出しを EvalRat オブジェクトへそのまま渡します。詳細については、IEvalRat::put_BlockedRatingAttributes を参照してください。

vtbl 7 HRESULT get_BlockUnRated(BOOL* pfBlockUnRatedShows)

get_BlockUnRated メソッドは、レーティング情報のない番組がブロックされるかどうかを示します。

pfBlockUnRatedShowsBOOL*outブール値を受け取ります。値が TRUE の場合、レーティングのない番組はブロックされます。それ以外の場合はブロックされません。

戻り値

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

リターンコード 説明
E_NOINTERFACE
EvalRat オブジェクトが正常に作成されませんでした。
S_OK
成功。

解説(Remarks)

フィルターはこの呼び出しを EvalRat オブジェクトへそのまま渡します。詳細については、IEvalRat::get_BlockUnRated を参照してください。

vtbl 8 HRESULT put_BlockUnRated(BOOL fBlockUnRatedShows)

put_BlockUnRated メソッドは、レーティング情報が取得されていない番組をブロックするかどうかを指定します。

fBlockUnRatedShowsBOOLinブール値です。レーティングのない番組をブロックするには TRUE を、ブロックしない場合は FALSE を指定します。

戻り値

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

リターンコード 説明
E_NOINTERFACE
EvalRat オブジェクトが正常に作成されませんでした。
S_OK
成功。

解説(Remarks)

フィルターはこの呼び出しを EvalRat オブジェクトへそのまま渡します。詳細については、IEvalRat::put_BlockUnRated を参照してください。

vtbl 9 HRESULT get_BlockUnRatedDelay(INT* pmsecsDelayBeforeBlock)

get_BlockUnRatedDelay メソッドは、フィルターがレーティングのないコンテンツをブロックするまでに待機する時間の長さを取得します。

pmsecsDelayBeforeBlockINT*out遅延時間をミリ秒単位で受け取ります。

戻り値

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

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

解説(Remarks)

このプロパティの値にかかわらず、BlockUnRated プロパティが TRUE でない限り、フィルターはレーティングのないコンテンツをブロックしません。

vtbl 10 HRESULT put_BlockUnRatedDelay(INT msecsDelayBeforeBlock)

put_BlockUnRatedDelay メソッドは、フィルターがレーティングのないコンテンツをブロックするまでに待機する時間の長さを設定します。

msecsDelayBeforeBlockINTin遅延時間をミリ秒単位で指定します。値は 0 から 60000(60 秒)までである必要があります。

戻り値

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

リターンコード 説明
E_INVALIDARG
無効な引数
S_OK
成功

解説(Remarks)

このプロパティの値にかかわらず、BlockUnRated プロパティが TRUE でない限り、フィルターはレーティングのないコンテンツをブロックしません。

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