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

IWMWriterFileSink3

COM
IID3fea4feb-2945-47a7-a1dd-c53a8fc4c45c継承元IWMWriterFileSink2自前メソッド開始 vtbl16

メソッド 8

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

vtbl 16 HRESULT SetAutoIndexing(BOOL fDoAutoIndexing)
fDoAutoIndexingBOOLin書き込み後の自動インデックス作成を有効にするかを指定する。TRUEで有効である。
vtbl 17 HRESULT GetAutoIndexing(BOOL* pfAutoIndexing)
pfAutoIndexingBOOL*out自動インデックス作成が有効かを受け取る出力先である。
vtbl 18 HRESULT SetControlStream(WORD wStreamNumber, BOOL fShouldControlStartAndStop)
wStreamNumberWORDin開始・停止を制御するストリームの番号である。
fShouldControlStartAndStopBOOLinそのストリームで開始・停止を制御するかを指定する。TRUEで制御する。
vtbl 19 HRESULT GetMode(DWORD* pdwFileSinkMode)
pdwFileSinkModeDWORD*outファイルシンクの動作モードフラグを受け取る出力先である。
vtbl 20 HRESULT OnDataUnitEx(WMT_FILESINK_DATA_UNIT* pFileSinkDataUnit)
pFileSinkDataUnitWMT_FILESINK_DATA_UNIT*in書き込む拡張データユニットを表すWMT_FILESINK_DATA_UNIT構造体へのポインタである。
vtbl 21 HRESULT SetUnbufferedIO(BOOL fUnbufferedIO, BOOL fRestrictMemUsage)
fUnbufferedIOBOOLinバッファなしI/Oを使用するかを指定する。TRUEで直接I/Oを行う。
fRestrictMemUsageBOOLinメモリ使用量を制限するかを指定する。TRUEで制限する。
vtbl 22 HRESULT GetUnbufferedIO(BOOL* pfUnbufferedIO)
pfUnbufferedIOBOOL*outバッファなしI/Oが有効かを受け取る出力先である。
vtbl 23 HRESULT CompleteOperations()

HSP用 COM定義

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

出力引数:
#define global IID_IWMWriterFileSink3 "{3FEA4FEB-2945-47A7-A1DD-C53A8FC4C45C}"
#usecom global IWMWriterFileSink3 IID_IWMWriterFileSink3 "{}"
#comfunc global IWMWriterFileSink3_SetAutoIndexing     16 int
#comfunc global IWMWriterFileSink3_GetAutoIndexing     17 var
#comfunc global IWMWriterFileSink3_SetControlStream    18 int,int
#comfunc global IWMWriterFileSink3_GetMode             19 var
#comfunc global IWMWriterFileSink3_OnDataUnitEx        20 var
#comfunc global IWMWriterFileSink3_SetUnbufferedIO     21 int,int
#comfunc global IWMWriterFileSink3_GetUnbufferedIO     22 var
#comfunc global IWMWriterFileSink3_CompleteOperations  23
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。