ホーム › Media.WindowsMediaFormat › IWMStreamConfig2
IWMStreamConfig2
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 14 HRESULT GetTransportType(WMT_TRANSPORT_TYPE* pnTransportType)
| pnTransportType | WMT_TRANSPORT_TYPE* | out | ストリームの転送種別WMT_TRANSPORT_TYPEを受け取る出力先。 |
vtbl 15 HRESULT SetTransportType(WMT_TRANSPORT_TYPE nTransportType)
| nTransportType | WMT_TRANSPORT_TYPE | in | 設定する転送種別を示すWMT_TRANSPORT_TYPE列挙値。 |
vtbl 16 HRESULT AddDataUnitExtension(GUID guidExtensionSystemID, WORD cbExtensionDataSize, BYTE* pbExtensionSystemInfo, DWORD cbExtensionSystemInfo)
| guidExtensionSystemID | GUID | in | 追加するデータ単位拡張システムを識別するGUID。 |
| cbExtensionDataSize | WORD | in | 各データ単位に付与する拡張データのバイト数。 |
| pbExtensionSystemInfo | BYTE* | in | 拡張システム固有情報を格納したバイトバッファへのポインタ。 |
| cbExtensionSystemInfo | DWORD | in | 拡張システム固有情報のバイト長を指定する。 |
| pcDataUnitExtensions | WORD* | out | 登録済みデータ単位拡張の数を受け取る出力先。WORDポインタ。 |
vtbl 18 HRESULT GetDataUnitExtension(WORD wDataUnitExtensionNumber, GUID* pguidExtensionSystemID, WORD* pcbExtensionDataSize, BYTE* pbExtensionSystemInfo, DWORD* pcbExtensionSystemInfo)
| wDataUnitExtensionNumber | WORD | in | 取得対象データ単位拡張の0起点インデックス。 |
| pguidExtensionSystemID | GUID* | out | 拡張システムID(GUID)を受け取る出力先。 |
| pcbExtensionDataSize | WORD* | out | 拡張データのバイト数を受け取る出力先。WORDポインタ。 |
| pbExtensionSystemInfo | BYTE* | out | 拡張システム固有情報を受け取るバイトバッファ。NULLでサイズ問い合わせ。 |
| pcbExtensionSystemInfo | DWORD* | 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 方式にも切替可。#define global IID_IWMStreamConfig2 "{7688D8CB-FC0D-43BD-9459-5A8DEC200CFA}" #usecom global IWMStreamConfig2 IID_IWMStreamConfig2 "{}" #comfunc global IWMStreamConfig2_GetTransportType 14 sptr #comfunc global IWMStreamConfig2_SetTransportType 15 int #comfunc global IWMStreamConfig2_AddDataUnitExtension 16 int,int,sptr,int #comfunc global IWMStreamConfig2_GetDataUnitExtensionCount 17 sptr #comfunc global IWMStreamConfig2_GetDataUnitExtension 18 int,sptr,sptr,sptr,sptr #comfunc global IWMStreamConfig2_RemoveAllDataUnitExtensions 19 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。