ホーム › Networking.NetworkListManager › INetworkCostManager
INetworkCostManager
COMメソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetCost(DWORD* pCost, NLM_SOCKADDR* pDestIPAddr)
| pCost | DWORD* | out | コスト値を示す NLM_CONNECTION_COST フラグを受け取る DWORD ポインタである。 |
| pDestIPAddr | NLM_SOCKADDR* | in | コストを問い合わせる宛先 IP アドレス。マシン全体のコストを取得する場合は NULL。 |
vtbl 4 HRESULT GetDataPlanStatus(NLM_DATAPLAN_STATUS* pDataPlanStatus, NLM_SOCKADDR* pDestIPAddr)
| pDataPlanStatus | NLM_DATAPLAN_STATUS* | out | データプランの状態を受け取る NLM_DATAPLAN_STATUS ポインタである。 |
| pDestIPAddr | NLM_SOCKADDR* | in | 状態を問い合わせる宛先 IP アドレス。マシン全体を取得する場合は NULL。 |
vtbl 5 HRESULT SetDestinationAddresses(DWORD length, NLM_SOCKADDR* pDestIPAddrList, VARIANT_BOOL bAppend)
| length | DWORD | in | pDestIPAddrList 配列の要素数を指定する DWORD である。 |
| pDestIPAddrList | NLM_SOCKADDR* | in | コスト通知対象として登録する宛先アドレスの NLM_SOCKADDR 配列である。 |
| bAppend | VARIANT_BOOL | in | 既存リストへ追加する場合 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 方式にも切替可。#define global IID_INetworkCostManager "{DCB00008-570F-4A9B-8D69-199FDBA5723B}" #usecom global INetworkCostManager IID_INetworkCostManager "{}" #comfunc global INetworkCostManager_GetCost 3 sptr,sptr #comfunc global INetworkCostManager_GetDataPlanStatus 4 sptr,sptr #comfunc global INetworkCostManager_SetDestinationAddresses 5 int,sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。