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

IWMWriterPostViewCallback

COM
IIDd9d6549d-a193-4f24-b308-03123d9b7f8d継承元IWMStatusCallback自前メソッド開始 vtbl4

メソッド 2

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

vtbl 4 HRESULT OnPostViewSample(WORD wStreamNumber, ULONGLONG cnsSampleTime, ULONGLONG cnsSampleDuration, DWORD dwFlags, INSSBuffer* pSample, void* pvContext)
wStreamNumberWORDinポストビューサンプルが属するストリームの番号である。
cnsSampleTimeULONGLONGinサンプルのプレゼンテーション時刻を100ナノ秒単位で示す。
cnsSampleDurationULONGLONGinサンプルの継続時間を100ナノ秒単位で示す。
dwFlagsDWORDinサンプルの属性を示すフラグである。
pSampleINSSBuffer*in受け取ったポストビューサンプルを保持するINSSBufferへのポインタである。
pvContextvoid*inAdviseで渡した呼び出し元定義のコンテキストへのポインタである。NULL可である。
vtbl 5 HRESULT AllocateForPostView(WORD wStreamNum, DWORD cbBuffer, INSSBuffer** ppBuffer, void* pvContext)
wStreamNumWORDinバッファを割り当てるポストビューストリームの番号である。
cbBufferDWORDin割り当てるバッファのバイト数である。
ppBufferINSSBuffer**out割り当てたINSSBufferを受け取る出力先である。
pvContextvoid*in呼び出し元定義のコンテキストへのポインタである。NULL可である。

HSP用 COM定義

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

#define global IID_IWMWriterPostViewCallback "{D9D6549D-A193-4F24-B308-03123D9B7F8D}"
#usecom global IWMWriterPostViewCallback IID_IWMWriterPostViewCallback "{}"
#comfunc global IWMWriterPostViewCallback_OnPostViewSample     4 int,int64,int64,int,sptr,sptr
#comfunc global IWMWriterPostViewCallback_AllocateForPostView  5 int,int,sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。