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

IWMStreamConfig

COM
IID96406bdc-2b2b-11d3-b36b-00c04f6108ff継承元IUnknown自前メソッド開始 vtbl3

メソッド 11

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

vtbl 3 HRESULT GetStreamType(GUID* pguidStreamType)
pguidStreamTypeGUID*outストリームのメディア種別を示すGUIDを受け取る出力先。
vtbl 4 HRESULT GetStreamNumber(WORD* pwStreamNum)
pwStreamNumWORD*outこのストリームの番号を受け取る出力先。WORDポインタ。
vtbl 5 HRESULT SetStreamNumber(WORD wStreamNum)
wStreamNumWORDinこのストリームに割り当てる番号(1〜63)を指定する。
vtbl 6 HRESULT GetStreamName(LPWSTR pwszStreamName, WORD* pcchStreamName)
pwszStreamNameLPWSTRoutストリーム名を受け取る文字列バッファ。NULLで長さ問い合わせ。
pcchStreamNameWORD*inout入力で確保文字数、出力で必要文字数を示すWORDポインタ。
vtbl 7 HRESULT SetStreamName(LPWSTR pwszStreamName)
pwszStreamNameLPWSTRin設定するストリーム名を指す広域文字列。
vtbl 8 HRESULT GetConnectionName(LPWSTR pwszInputName, WORD* pcchInputName)
pwszInputNameLPWSTRoutストリームの入力接続名を受け取るバッファ。NULLで長さ問い合わせ。
pcchInputNameWORD*inout入力で確保文字数、出力で必要文字数を示すWORDポインタ。
vtbl 9 HRESULT SetConnectionName(LPWSTR pwszInputName)
pwszInputNameLPWSTRin設定する入力接続名を指す広域文字列。
vtbl 10 HRESULT GetBitrate(DWORD* pdwBitrate)
pdwBitrateDWORD*outストリームのビットレート(bps)を受け取る出力先。DWORDポインタ。
vtbl 11 HRESULT SetBitrate(DWORD pdwBitrate)
pdwBitrateDWORDin設定するビットレートをbps単位で指定する。
vtbl 12 HRESULT GetBufferWindow(DWORD* pmsBufferWindow)
pmsBufferWindowDWORD*outバッファウィンドウ(滞留時間)をミリ秒で受け取る出力先。
vtbl 13 HRESULT SetBufferWindow(DWORD msBufferWindow)
msBufferWindowDWORDin設定するバッファウィンドウをミリ秒単位で指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IWMStreamConfig "{96406BDC-2B2B-11D3-B36B-00C04F6108FF}"
#usecom global IWMStreamConfig IID_IWMStreamConfig "{}"
#comfunc global IWMStreamConfig_GetStreamType      3 var
#comfunc global IWMStreamConfig_GetStreamNumber    4 var
#comfunc global IWMStreamConfig_SetStreamNumber    5 int
#comfunc global IWMStreamConfig_GetStreamName      6 var,var
#comfunc global IWMStreamConfig_SetStreamName      7 wstr
#comfunc global IWMStreamConfig_GetConnectionName  8 var,var
#comfunc global IWMStreamConfig_SetConnectionName  9 wstr
#comfunc global IWMStreamConfig_GetBitrate         10 var
#comfunc global IWMStreamConfig_SetBitrate         11 int
#comfunc global IWMStreamConfig_GetBufferWindow    12 var
#comfunc global IWMStreamConfig_SetBufferWindow    13 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。