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

IWMStreamConfig2

COM
IID7688d8cb-fc0d-43bd-9459-5a8dec200cfa継承元IWMStreamConfig自前メソッド開始 vtbl14

メソッド 6

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

vtbl 14 HRESULT GetTransportType(WMT_TRANSPORT_TYPE* pnTransportType)
pnTransportTypeWMT_TRANSPORT_TYPE*outストリームの転送種別WMT_TRANSPORT_TYPEを受け取る出力先。
vtbl 15 HRESULT SetTransportType(WMT_TRANSPORT_TYPE nTransportType)
nTransportTypeWMT_TRANSPORT_TYPEin設定する転送種別を示すWMT_TRANSPORT_TYPE列挙値。
vtbl 16 HRESULT AddDataUnitExtension(GUID guidExtensionSystemID, WORD cbExtensionDataSize, BYTE* pbExtensionSystemInfo, DWORD cbExtensionSystemInfo)
guidExtensionSystemIDGUIDin追加するデータ単位拡張システムを識別するGUID。
cbExtensionDataSizeWORDin各データ単位に付与する拡張データのバイト数。
pbExtensionSystemInfoBYTE*in拡張システム固有情報を格納したバイトバッファへのポインタ。
cbExtensionSystemInfoDWORDin拡張システム固有情報のバイト長を指定する。
vtbl 17 HRESULT GetDataUnitExtensionCount(WORD* pcDataUnitExtensions)
pcDataUnitExtensionsWORD*out登録済みデータ単位拡張の数を受け取る出力先。WORDポインタ。
vtbl 18 HRESULT GetDataUnitExtension(WORD wDataUnitExtensionNumber, GUID* pguidExtensionSystemID, WORD* pcbExtensionDataSize, BYTE* pbExtensionSystemInfo, DWORD* pcbExtensionSystemInfo)
wDataUnitExtensionNumberWORDin取得対象データ単位拡張の0起点インデックス。
pguidExtensionSystemIDGUID*out拡張システムID(GUID)を受け取る出力先。
pcbExtensionDataSizeWORD*out拡張データのバイト数を受け取る出力先。WORDポインタ。
pbExtensionSystemInfoBYTE*out拡張システム固有情報を受け取るバイトバッファ。NULLでサイズ問い合わせ。
pcbExtensionSystemInfoDWORD*inout入力で確保バイト数、出力で実バイト数を示すDWORDポインタ。
vtbl 19 HRESULT RemoveAllDataUnitExtensions()

HSP用 COM定義

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

出力引数:
#define global IID_IWMStreamConfig2 "{7688D8CB-FC0D-43BD-9459-5A8DEC200CFA}"
#usecom global IWMStreamConfig2 IID_IWMStreamConfig2 "{}"
#comfunc global IWMStreamConfig2_GetTransportType             14 var
#comfunc global IWMStreamConfig2_SetTransportType             15 int
#comfunc global IWMStreamConfig2_AddDataUnitExtension         16 int,int,var,int
#comfunc global IWMStreamConfig2_GetDataUnitExtensionCount    17 var
#comfunc global IWMStreamConfig2_GetDataUnitExtension         18 int,var,var,var,var
#comfunc global IWMStreamConfig2_RemoveAllDataUnitExtensions  19
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。