ホーム › Storage.VirtualDiskService › IVdsLunMpio
IVdsLunMpio
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetPathInfo(VDS_PATH_INFO** ppPaths, INT* plNumberOfPaths)
| ppPaths | VDS_PATH_INFO** | out | LUN への各 I/O パスの情報を表す VDS_PATH_INFO 構造体の配列を受け取るポインタである。 |
| plNumberOfPaths | INT* | out | 返されたパスの数を受け取るポインタである。 |
vtbl 4 HRESULT GetLoadBalancePolicy(VDS_LOADBALANCE_POLICY_ENUM* pPolicy, VDS_PATH_POLICY** ppPaths, INT* plNumberOfPaths)
| pPolicy | VDS_LOADBALANCE_POLICY_ENUM* | out | 現在のロードバランスポリシーを表す VDS_LOADBALANCE_POLICY_ENUM 値を受け取るポインタである。 |
| ppPaths | VDS_PATH_POLICY** | out | 各パスのポリシー設定を表す VDS_PATH_POLICY 構造体の配列を受け取るポインタである。 |
| plNumberOfPaths | INT* | out | 返されたパスの数を受け取るポインタである。 |
vtbl 5 HRESULT SetLoadBalancePolicy(VDS_LOADBALANCE_POLICY_ENUM policy, VDS_PATH_POLICY* pPaths, INT lNumberOfPaths)
| policy | VDS_LOADBALANCE_POLICY_ENUM | in | 設定するロードバランスポリシーを表す VDS_LOADBALANCE_POLICY_ENUM 値を指定する。 |
| pPaths | VDS_PATH_POLICY* | in | 各パスのポリシー設定を表す VDS_PATH_POLICY 構造体の配列を指定する。 |
| lNumberOfPaths | INT | in | 配列に含まれるパスの数を指定する。 |
| pulLbFlags | DWORD* | out | サポートされているロードバランスポリシーを表すフラグを受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IVdsLunMpio "{7C5FBAE3-333A-48A1-A982-33C15788CDE3}" #usecom global IVdsLunMpio IID_IVdsLunMpio "{}" #comfunc global IVdsLunMpio_GetPathInfo 3 var,var #comfunc global IVdsLunMpio_GetLoadBalancePolicy 4 var,var,var #comfunc global IVdsLunMpio_SetLoadBalancePolicy 5 int,var,int #comfunc global IVdsLunMpio_GetSupportedLbPolicies 6 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IVdsLunMpio "{7C5FBAE3-333A-48A1-A982-33C15788CDE3}" #usecom global IVdsLunMpio IID_IVdsLunMpio "{}" #comfunc global IVdsLunMpio_GetPathInfo 3 sptr,sptr #comfunc global IVdsLunMpio_GetLoadBalancePolicy 4 sptr,sptr,sptr #comfunc global IVdsLunMpio_SetLoadBalancePolicy 5 int,sptr,int #comfunc global IVdsLunMpio_GetSupportedLbPolicies 6 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。