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

IWMWriterPostView

COM
IID81e20ce4-75ef-491a-8004-fc53c45bdc3e継承元IUnknown自前メソッド開始 vtbl3

メソッド 9

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

vtbl 3 HRESULT SetPostViewCallback(IWMWriterPostViewCallback* pCallback, void* pvContext)
pCallbackIWMWriterPostViewCallback*inポストビューサンプルを受け取るIWMWriterPostViewCallbackへのポインタである。
pvContextvoid*inoutコールバックに渡される呼び出し元定義のコンテキストである。NULL可である。
vtbl 4 HRESULT SetReceivePostViewSamples(WORD wStreamNum, BOOL fReceivePostViewSamples)
wStreamNumWORDin設定対象ストリームの番号である。
fReceivePostViewSamplesBOOLinポストビューサンプルを受信するかを指定する。TRUEで受信する。
vtbl 5 HRESULT GetReceivePostViewSamples(WORD wStreamNum, BOOL* pfReceivePostViewSamples)
wStreamNumWORDin問い合わせ対象ストリームの番号である。
pfReceivePostViewSamplesBOOL*outポストビューサンプル受信が有効かを受け取る出力先である。
vtbl 6 HRESULT GetPostViewProps(WORD wStreamNumber, IWMMediaProps** ppOutput)
wStreamNumberWORDinプロパティを取得する対象ストリームの番号である。
ppOutputIWMMediaProps**out現在のポストビュー出力プロパティを表すIWMMediaPropsを受け取る出力先である。
vtbl 7 HRESULT SetPostViewProps(WORD wStreamNumber, IWMMediaProps* pOutput)
wStreamNumberWORDinプロパティを設定する対象ストリームの番号である。
pOutputIWMMediaProps*in設定するポストビュー出力プロパティを表すIWMMediaPropsへのポインタである。
vtbl 8 HRESULT GetPostViewFormatCount(WORD wStreamNumber, DWORD* pcFormats)
wStreamNumberWORDin対象ストリームの番号である。
pcFormatsDWORD*out利用可能なポストビュー形式の総数を受け取る出力先である。
vtbl 9 HRESULT GetPostViewFormat(WORD wStreamNumber, DWORD dwFormatNumber, IWMMediaProps** ppProps)
wStreamNumberWORDin対象ストリームの番号である。
dwFormatNumberDWORDin取得する形式の0始まりのインデックスである。
ppPropsIWMMediaProps**out指定形式のメディアプロパティを表すIWMMediaPropsを受け取る出力先である。
vtbl 10 HRESULT SetAllocateForPostView(WORD wStreamNumber, BOOL fAllocate)
wStreamNumberWORDin対象ストリームの番号である。
fAllocateBOOLinポストビュー用バッファをアプリ側で割り当てるかを指定する。TRUEで割り当てる。
vtbl 11 HRESULT GetAllocateForPostView(WORD wStreamNumber, BOOL* pfAllocate)
wStreamNumberWORDin対象ストリームの番号である。
pfAllocateBOOL*outアプリ側バッファ割り当てが有効かを受け取る出力先である。

HSP用 COM定義

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

出力引数:
#define global IID_IWMWriterPostView "{81E20CE4-75EF-491A-8004-FC53C45BDC3E}"
#usecom global IWMWriterPostView IID_IWMWriterPostView "{}"
#comfunc global IWMWriterPostView_SetPostViewCallback        3 sptr,sptr
#comfunc global IWMWriterPostView_SetReceivePostViewSamples  4 int,int
#comfunc global IWMWriterPostView_GetReceivePostViewSamples  5 int,var
#comfunc global IWMWriterPostView_GetPostViewProps           6 int,sptr
#comfunc global IWMWriterPostView_SetPostViewProps           7 int,sptr
#comfunc global IWMWriterPostView_GetPostViewFormatCount     8 int,var
#comfunc global IWMWriterPostView_GetPostViewFormat          9 int,int,sptr
#comfunc global IWMWriterPostView_SetAllocateForPostView     10 int,int
#comfunc global IWMWriterPostView_GetAllocateForPostView     11 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。