Win32 API 日本語リファレンス
ホームNetworking.NetworkListManager › INetworkCostManager

INetworkCostManager

COM
IIDdcb00008-570f-4a9b-8d69-199fdba5723b継承元IUnknown自前メソッド開始 vtbl3

メソッド 3

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

vtbl 3 HRESULT GetCost(DWORD* pCost, NLM_SOCKADDR* pDestIPAddr)
pCostDWORD*outコスト値を示す NLM_CONNECTION_COST フラグを受け取る DWORD ポインタである。
pDestIPAddrNLM_SOCKADDR*inコストを問い合わせる宛先 IP アドレス。マシン全体のコストを取得する場合は NULL。
vtbl 4 HRESULT GetDataPlanStatus(NLM_DATAPLAN_STATUS* pDataPlanStatus, NLM_SOCKADDR* pDestIPAddr)
pDataPlanStatusNLM_DATAPLAN_STATUS*outデータプランの状態を受け取る NLM_DATAPLAN_STATUS ポインタである。
pDestIPAddrNLM_SOCKADDR*in状態を問い合わせる宛先 IP アドレス。マシン全体を取得する場合は NULL。
vtbl 5 HRESULT SetDestinationAddresses(DWORD length, NLM_SOCKADDR* pDestIPAddrList, VARIANT_BOOL bAppend)
lengthDWORDinpDestIPAddrList 配列の要素数を指定する DWORD である。
pDestIPAddrListNLM_SOCKADDR*inコスト通知対象として登録する宛先アドレスの NLM_SOCKADDR 配列である。
bAppendVARIANT_BOOLin既存リストへ追加する場合 VARIANT_TRUE、置換する場合 VARIANT_FALSE を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_INetworkCostManager "{DCB00008-570F-4A9B-8D69-199FDBA5723B}"
#usecom global INetworkCostManager IID_INetworkCostManager "{}"
#comfunc global INetworkCostManager_GetCost                  3 var,var
#comfunc global INetworkCostManager_GetDataPlanStatus        4 var,var
#comfunc global INetworkCostManager_SetDestinationAddresses  5 int,var,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。