Win32 API 日本語リファレンス
ホームMedia.KernelStreaming › IKsPinPipe

IKsPinPipe

COM
IIDe539cd90-a8b4-11d1-8189-00a0c9062802継承元IUnknown自前メソッド開始 vtbl3

メソッド 11

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

vtbl 3 HRESULT KsGetPinFramingCache(KSALLOCATOR_FRAMING_EX** FramingEx, FRAMING_PROP* FramingProp, FRAMING_CACHE_OPS Option)
FramingExKSALLOCATOR_FRAMING_EX**outキャッシュされたフレーミング情報 KSALLOCATOR_FRAMING_EX を受け取るポインタの格納先。
FramingPropFRAMING_PROP*out取得するフレーミング属性を指定する FRAMING_PROP 列挙値ポインタ。
OptionFRAMING_CACHE_OPSinキャッシュ操作の種別を表す FRAMING_CACHE_OPS 列挙値を指定する。
vtbl 4 HRESULT KsSetPinFramingCache(KSALLOCATOR_FRAMING_EX* FramingEx, FRAMING_PROP* FramingProp, FRAMING_CACHE_OPS Option)
FramingExKSALLOCATOR_FRAMING_EX*inキャッシュに設定するフレーミング情報 KSALLOCATOR_FRAMING_EX へのポインタを指定する。
FramingPropFRAMING_PROP*in設定するフレーミング属性を指定する FRAMING_PROP 列挙値ポインタ。
OptionFRAMING_CACHE_OPSinキャッシュ操作の種別を表す FRAMING_CACHE_OPS 列挙値を指定する。
vtbl 5 IPin* KsGetConnectedPin()
vtbl 6 IKsAllocatorEx* KsGetPipe(KSPEEKOPERATION Operation)
OperationKSPEEKOPERATIONinパイプの参照方法を指定する KSPEEKOPERATION 列挙値を指定する。
vtbl 7 HRESULT KsSetPipe(IKsAllocatorEx* KsAllocator)
KsAllocatorIKsAllocatorEx*inピンに関連付けるパイプ用アロケータ IKsAllocatorEx へのポインタを指定する。
vtbl 8 DWORD KsGetPipeAllocatorFlag()
vtbl 9 HRESULT KsSetPipeAllocatorFlag(DWORD Flag)
FlagDWORDinパイプアロケータの動作を制御するフラグを指定する。
vtbl 10 GUID KsGetPinBusCache()
vtbl 11 HRESULT KsSetPinBusCache(GUID Bus)
BusGUIDinピンに関連付けるバス識別子(GUID)を指定する。
vtbl 12 LPWSTR KsGetPinName()
vtbl 13 LPWSTR KsGetFilterName()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IKsPinPipe "{E539CD90-A8B4-11D1-8189-00A0C9062802}"
#usecom global IKsPinPipe IID_IKsPinPipe "{}"
#comfunc global IKsPinPipe_KsGetPinFramingCache    3 var,var,int
#comfunc global IKsPinPipe_KsSetPinFramingCache    4 var,var,int
#comfunc global IKsPinPipe_KsGetConnectedPin       5
#comfunc global IKsPinPipe_KsGetPipe               6 int
#comfunc global IKsPinPipe_KsSetPipe               7 sptr
#comfunc global IKsPinPipe_KsGetPipeAllocatorFlag  8
#comfunc global IKsPinPipe_KsSetPipeAllocatorFlag  9 int
#comfunc global IKsPinPipe_KsGetPinBusCache        10
#comfunc global IKsPinPipe_KsSetPinBusCache        11 int
#comfunc global IKsPinPipe_KsGetPinName            12
#comfunc global IKsPinPipe_KsGetFilterName         13
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。