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

IWMPNetwork

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDec21b779-edef-462d-bba4-ad9dde2b29a7継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 28

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_bandWidth(INT* plBandwidth)
plBandwidthINT*inout現在のクリップの帯域幅をビット毎秒で受け取る。
vtbl 8 HRESULT get_recoveredPackets(INT* plRecoveredPackets)
plRecoveredPacketsINT*inout誤り訂正で回復したパケット数を受け取る。
vtbl 9 HRESULT get_sourceProtocol(LPWSTR* pbstrSourceProtocol)
pbstrSourceProtocolLPWSTR*inoutストリーム受信に使用中のプロトコル名を受け取る。解放が必要。
vtbl 10 HRESULT get_receivedPackets(INT* plReceivedPackets)
plReceivedPacketsINT*inout受信した総パケット数を受け取る。
vtbl 11 HRESULT get_lostPackets(INT* plLostPackets)
plLostPacketsINT*inout回復できなかった損失パケット数を受け取る。
vtbl 12 HRESULT get_receptionQuality(INT* plReceptionQuality)
plReceptionQualityINT*inout直近の受信品質を百分率で受け取る。0〜100。
vtbl 13 HRESULT get_bufferingCount(INT* plBufferingCount)
plBufferingCountINT*inout再生開始以降に発生したバッファリング回数を受け取る。
vtbl 14 HRESULT get_bufferingProgress(INT* plBufferingProgress)
plBufferingProgressINT*inout現在のバッファリング進捗を百分率で受け取る。0〜100。
vtbl 15 HRESULT get_bufferingTime(INT* plBufferingTime)
plBufferingTimeINT*inoutバッファリングに使う時間をミリ秒単位で受け取る。
vtbl 16 HRESULT put_bufferingTime(INT lBufferingTime)
lBufferingTimeINTinバッファリング時間をミリ秒単位で設定する。
vtbl 17 HRESULT get_frameRate(INT* plFrameRate)
plFrameRateINT*inout実際に表示中のフレームレートを毎秒フレーム数で受け取る。
vtbl 18 HRESULT get_maxBitRate(INT* plBitRate)
plBitRateINT*inoutクリップの最大ビットレートをビット毎秒で受け取る。
vtbl 19 HRESULT get_bitRate(INT* plBitRate)
plBitRateINT*inout現在のビットレートをビット毎秒で受け取る。
vtbl 20 HRESULT getProxySettings(LPWSTR bstrProtocol, INT* plProxySetting)
bstrProtocolLPWSTRin設定を取得するプロトコル名を指定する。http や mms など。
plProxySettingINT*inoutプロキシ設定モードを受け取る。0=なし,1=ブラウザ,2=手動などの値。
vtbl 21 HRESULT setProxySettings(LPWSTR bstrProtocol, INT lProxySetting)
bstrProtocolLPWSTRin設定対象のプロトコル名を指定する。http や mms など。
lProxySettingINTinプロキシ設定モードを指定する。0=なし,1=ブラウザ,2=手動など。
vtbl 22 HRESULT getProxyName(LPWSTR bstrProtocol, LPWSTR* pbstrProxyName)
bstrProtocolLPWSTRinプロキシ名を取得するプロトコル名を指定する。
pbstrProxyNameLPWSTR*inoutプロキシサーバー名を受け取る。解放が必要。
vtbl 23 HRESULT setProxyName(LPWSTR bstrProtocol, LPWSTR bstrProxyName)
bstrProtocolLPWSTRinプロキシ名を設定するプロトコル名を指定する。
bstrProxyNameLPWSTRin使用するプロキシサーバー名を設定する。
vtbl 24 HRESULT getProxyPort(LPWSTR bstrProtocol, INT* lProxyPort)
bstrProtocolLPWSTRinポートを取得するプロトコル名を指定する。
lProxyPortINT*inoutプロキシサーバーのポート番号を受け取る。
vtbl 25 HRESULT setProxyPort(LPWSTR bstrProtocol, INT lProxyPort)
bstrProtocolLPWSTRinポートを設定するプロトコル名を指定する。
lProxyPortINTin使用するプロキシのポート番号を設定する。
vtbl 26 HRESULT getProxyExceptionList(LPWSTR bstrProtocol, LPWSTR* pbstrExceptionList)
bstrProtocolLPWSTRin例外一覧を取得するプロトコル名を指定する。
pbstrExceptionListLPWSTR*inoutプロキシを使わないアドレスの一覧を受け取る。解放が必要。
vtbl 27 HRESULT setProxyExceptionList(LPWSTR bstrProtocol, LPWSTR pbstrExceptionList)
bstrProtocolLPWSTRin例外一覧を設定するプロトコル名を指定する。
pbstrExceptionListLPWSTRinプロキシを経由しないアドレスの一覧を設定する。
vtbl 28 HRESULT getProxyBypassForLocal(LPWSTR bstrProtocol, VARIANT_BOOL* pfBypassForLocal)
bstrProtocolLPWSTRin設定を取得するプロトコル名を指定する。
pfBypassForLocalVARIANT_BOOL*inoutローカルアドレスでプロキシを迂回するかを受け取る。VARIANT_TRUE で迂回。
vtbl 29 HRESULT setProxyBypassForLocal(LPWSTR bstrProtocol, VARIANT_BOOL fBypassForLocal)
bstrProtocolLPWSTRin設定対象のプロトコル名を指定する。
fBypassForLocalVARIANT_BOOLinローカルアドレスでプロキシを迂回するかを設定する。VARIANT_TRUE で迂回。
vtbl 30 HRESULT get_maxBandwidth(INT* lMaxBandwidth)
lMaxBandwidthINT*inout許可する最大帯域幅をビット毎秒で受け取る。出力引数。
vtbl 31 HRESULT put_maxBandwidth(INT lMaxBandwidth)
lMaxBandwidthINTin使用を許可する最大帯域幅をビット毎秒で設定する。
vtbl 32 HRESULT get_downloadProgress(INT* plDownloadProgress)
plDownloadProgressINT*inout現在のダウンロード進捗を百分率で受け取る。0〜100。
vtbl 33 HRESULT get_encodedFrameRate(INT* plFrameRate)
plFrameRateINT*inoutエンコード時のフレームレートを毎秒フレーム数で受け取る。
vtbl 34 HRESULT get_framesSkipped(INT* plFrames)
plFramesINT*inout再生中にスキップされたフレーム数を受け取る。

HSP用 COM定義

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

出力引数:
#define global IID_IWMPNetwork "{EC21B779-EDEF-462D-BBA4-AD9DDE2B29A7}"
#usecom global IWMPNetwork IID_IWMPNetwork "{}"
#comfunc global IWMPNetwork_get_bandWidth           7 var
#comfunc global IWMPNetwork_get_recoveredPackets    8 var
#comfunc global IWMPNetwork_get_sourceProtocol      9 var
#comfunc global IWMPNetwork_get_receivedPackets     10 var
#comfunc global IWMPNetwork_get_lostPackets         11 var
#comfunc global IWMPNetwork_get_receptionQuality    12 var
#comfunc global IWMPNetwork_get_bufferingCount      13 var
#comfunc global IWMPNetwork_get_bufferingProgress   14 var
#comfunc global IWMPNetwork_get_bufferingTime       15 var
#comfunc global IWMPNetwork_put_bufferingTime       16 int
#comfunc global IWMPNetwork_get_frameRate           17 var
#comfunc global IWMPNetwork_get_maxBitRate          18 var
#comfunc global IWMPNetwork_get_bitRate             19 var
#comfunc global IWMPNetwork_getProxySettings        20 wstr,var
#comfunc global IWMPNetwork_setProxySettings        21 wstr,int
#comfunc global IWMPNetwork_getProxyName            22 wstr,var
#comfunc global IWMPNetwork_setProxyName            23 wstr,wstr
#comfunc global IWMPNetwork_getProxyPort            24 wstr,var
#comfunc global IWMPNetwork_setProxyPort            25 wstr,int
#comfunc global IWMPNetwork_getProxyExceptionList   26 wstr,var
#comfunc global IWMPNetwork_setProxyExceptionList   27 wstr,wstr
#comfunc global IWMPNetwork_getProxyBypassForLocal  28 wstr,var
#comfunc global IWMPNetwork_setProxyBypassForLocal  29 wstr,int
#comfunc global IWMPNetwork_get_maxBandwidth        30 var
#comfunc global IWMPNetwork_put_maxBandwidth        31 int
#comfunc global IWMPNetwork_get_downloadProgress    32 var
#comfunc global IWMPNetwork_get_encodedFrameRate    33 var
#comfunc global IWMPNetwork_get_framesSkipped       34 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。