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

IDTFilter

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

メソッド 8

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

vtbl 3 HRESULT get_EvalRatObjOK(HRESULT* pHrCoCreateRetVal)
pHrCoCreateRetValHRESULT*out格付け評価オブジェクトのCoCreate結果HRESULTを受け取る出力。S_OKで生成成功を示す。
vtbl 4 HRESULT GetCurrRating(EnTvRat_System* pEnSystem, EnTvRat_GenericLevel* pEnRating, INT* plbfEnAttr)
pEnSystemEnTvRat_System*out現在の格付け体系を受け取るEnTvRat_System列挙値の出力。
pEnRatingEnTvRat_GenericLevel*out現在の格付けレベルを受け取るEnTvRat_GenericLevel列挙値の出力。
plbfEnAttrINT*out格付け属性のビットフラグを受け取るINT出力。
vtbl 5 HRESULT get_BlockedRatingAttributes(EnTvRat_System enSystem, EnTvRat_GenericLevel enLevel, INT* plbfEnAttr)
enSystemEnTvRat_Systemin対象とする格付け体系を指定するEnTvRat_System列挙値。
enLevelEnTvRat_GenericLevelin対象とする格付けレベルを指定するEnTvRat_GenericLevel列挙値。
plbfEnAttrINT*out指定体系/レベルでブロックされる属性のビットフラグを受け取るINT出力。
vtbl 6 HRESULT put_BlockedRatingAttributes(EnTvRat_System enSystem, EnTvRat_GenericLevel enLevel, INT lbfAttrs)
enSystemEnTvRat_Systemin設定対象の格付け体系を指定するEnTvRat_System列挙値。
enLevelEnTvRat_GenericLevelin設定対象の格付けレベルを指定するEnTvRat_GenericLevel列挙値。
lbfAttrsINTinブロックする属性を表すビットフラグ。INTで指定する。
vtbl 7 HRESULT get_BlockUnRated(BOOL* pfBlockUnRatedShows)
pfBlockUnRatedShowsBOOL*out未格付け番組をブロックするかを受け取るBOOL。TRUEでブロックを示す。
vtbl 8 HRESULT put_BlockUnRated(BOOL fBlockUnRatedShows)
fBlockUnRatedShowsBOOLin未格付け番組をブロックするか。TRUEでブロックを指定するBOOL。
vtbl 9 HRESULT get_BlockUnRatedDelay(INT* pmsecsDelayBeforeBlock)
pmsecsDelayBeforeBlockINT*out未格付け番組をブロックするまでの遅延を受け取るINT出力。単位はミリ秒。
vtbl 10 HRESULT put_BlockUnRatedDelay(INT msecsDelayBeforeBlock)
msecsDelayBeforeBlockINTin未格付け番組をブロックするまでの遅延。単位はミリ秒のINTで指定する。

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 方式にも切替可。