ホーム › Media.KernelStreaming › IKsPinPipe
IKsPinPipe
COMメソッド 11
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT KsGetPinFramingCache(KSALLOCATOR_FRAMING_EX** FramingEx, FRAMING_PROP* FramingProp, FRAMING_CACHE_OPS Option)
| FramingEx | KSALLOCATOR_FRAMING_EX** | out | キャッシュされたフレーミング情報 KSALLOCATOR_FRAMING_EX を受け取るポインタの格納先。 |
| FramingProp | FRAMING_PROP* | out | 取得するフレーミング属性を指定する FRAMING_PROP 列挙値ポインタ。 |
| Option | FRAMING_CACHE_OPS | in | キャッシュ操作の種別を表す FRAMING_CACHE_OPS 列挙値を指定する。 |
vtbl 4 HRESULT KsSetPinFramingCache(KSALLOCATOR_FRAMING_EX* FramingEx, FRAMING_PROP* FramingProp, FRAMING_CACHE_OPS Option)
| FramingEx | KSALLOCATOR_FRAMING_EX* | in | キャッシュに設定するフレーミング情報 KSALLOCATOR_FRAMING_EX へのポインタを指定する。 |
| FramingProp | FRAMING_PROP* | in | 設定するフレーミング属性を指定する FRAMING_PROP 列挙値ポインタ。 |
| Option | FRAMING_CACHE_OPS | in | キャッシュ操作の種別を表す FRAMING_CACHE_OPS 列挙値を指定する。 |
vtbl 5 IPin* KsGetConnectedPin()
vtbl 6 IKsAllocatorEx* KsGetPipe(KSPEEKOPERATION Operation)
| Operation | KSPEEKOPERATION | in | パイプの参照方法を指定する KSPEEKOPERATION 列挙値を指定する。 |
vtbl 7 HRESULT KsSetPipe(IKsAllocatorEx* KsAllocator)
| KsAllocator | IKsAllocatorEx* | in | ピンに関連付けるパイプ用アロケータ IKsAllocatorEx へのポインタを指定する。 |
vtbl 8 DWORD KsGetPipeAllocatorFlag()
| Flag | DWORD | in | パイプアロケータの動作を制御するフラグを指定する。 |
vtbl 10 GUID KsGetPinBusCache()
vtbl 11 HRESULT KsSetPinBusCache(GUID Bus)
| Bus | GUID | in | ピンに関連付けるバス識別子(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 指定が可能。#define global IID_IKsPinPipe "{E539CD90-A8B4-11D1-8189-00A0C9062802}" #usecom global IKsPinPipe IID_IKsPinPipe "{}" #comfunc global IKsPinPipe_KsGetPinFramingCache 3 sptr,sptr,int #comfunc global IKsPinPipe_KsSetPinFramingCache 4 sptr,sptr,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が無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。