ホーム › Media.WindowsMediaFormat › IWMWriterNetworkSink
IWMWriterNetworkSink
COMメソッド 8
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| dwMaxClients | DWORD | in | 同時接続を許可する最大クライアント数を指定する。 |
| pdwMaxClients | DWORD* | out | 現在の最大クライアント数を受け取る出力先である。 |
vtbl 10 HRESULT SetNetworkProtocol(WMT_NET_PROTOCOL protocol)
| protocol | WMT_NET_PROTOCOL | in | 使用するネットワークプロトコルを示すWMT_NET_PROTOCOL列挙値である。 |
vtbl 11 HRESULT GetNetworkProtocol(WMT_NET_PROTOCOL* pProtocol)
| pProtocol | WMT_NET_PROTOCOL* | out | 現在のネットワークプロトコルを受け取るWMT_NET_PROTOCOL出力先である。 |
| pwszURL | LPWSTR | out | ホストURLを受け取るワイド文字列バッファである。NULLでサイズ問い合わせ可能である。 |
| pcchURL | DWORD* | inout | バッファ文字数を入力し必要文字数を受け取る入出力ポインタである。 |
| pdwPortNum | DWORD* | inout | 使用するポート番号を指定し実際に開いたポート番号を受け取る入出力ポインタである。0で自動割り当てとなる。 |
vtbl 14 HRESULT Disconnect()
vtbl 15 HRESULT Close()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWMWriterNetworkSink "{96406BE7-2B2B-11D3-B36B-00C04F6108FF}" #usecom global IWMWriterNetworkSink IID_IWMWriterNetworkSink "{}" #comfunc global IWMWriterNetworkSink_SetMaximumClients 8 int #comfunc global IWMWriterNetworkSink_GetMaximumClients 9 var #comfunc global IWMWriterNetworkSink_SetNetworkProtocol 10 int #comfunc global IWMWriterNetworkSink_GetNetworkProtocol 11 var #comfunc global IWMWriterNetworkSink_GetHostURL 12 var,var #comfunc global IWMWriterNetworkSink_Open 13 var #comfunc global IWMWriterNetworkSink_Disconnect 14 #comfunc global IWMWriterNetworkSink_Close 15 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWMWriterNetworkSink "{96406BE7-2B2B-11D3-B36B-00C04F6108FF}" #usecom global IWMWriterNetworkSink IID_IWMWriterNetworkSink "{}" #comfunc global IWMWriterNetworkSink_SetMaximumClients 8 int #comfunc global IWMWriterNetworkSink_GetMaximumClients 9 sptr #comfunc global IWMWriterNetworkSink_SetNetworkProtocol 10 int #comfunc global IWMWriterNetworkSink_GetNetworkProtocol 11 sptr #comfunc global IWMWriterNetworkSink_GetHostURL 12 sptr,sptr #comfunc global IWMWriterNetworkSink_Open 13 sptr #comfunc global IWMWriterNetworkSink_Disconnect 14 #comfunc global IWMWriterNetworkSink_Close 15 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。