Win32 API 日本語リファレンス
ホームStorage.VirtualDiskService › IVdsLunMpio

IVdsLunMpio

COM
IID7c5fbae3-333a-48a1-a982-33c15788cde3継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

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

vtbl 3 HRESULT GetPathInfo(VDS_PATH_INFO** ppPaths, INT* plNumberOfPaths)
ppPathsVDS_PATH_INFO**outLUN への各 I/O パスの情報を表す VDS_PATH_INFO 構造体の配列を受け取るポインタである。
plNumberOfPathsINT*out返されたパスの数を受け取るポインタである。
vtbl 4 HRESULT GetLoadBalancePolicy(VDS_LOADBALANCE_POLICY_ENUM* pPolicy, VDS_PATH_POLICY** ppPaths, INT* plNumberOfPaths)
pPolicyVDS_LOADBALANCE_POLICY_ENUM*out現在のロードバランスポリシーを表す VDS_LOADBALANCE_POLICY_ENUM 値を受け取るポインタである。
ppPathsVDS_PATH_POLICY**out各パスのポリシー設定を表す VDS_PATH_POLICY 構造体の配列を受け取るポインタである。
plNumberOfPathsINT*out返されたパスの数を受け取るポインタである。
vtbl 5 HRESULT SetLoadBalancePolicy(VDS_LOADBALANCE_POLICY_ENUM policy, VDS_PATH_POLICY* pPaths, INT lNumberOfPaths)
policyVDS_LOADBALANCE_POLICY_ENUMin設定するロードバランスポリシーを表す VDS_LOADBALANCE_POLICY_ENUM 値を指定する。
pPathsVDS_PATH_POLICY*in各パスのポリシー設定を表す VDS_PATH_POLICY 構造体の配列を指定する。
lNumberOfPathsINTin配列に含まれるパスの数を指定する。
vtbl 6 HRESULT GetSupportedLbPolicies(DWORD* pulLbFlags)
pulLbFlagsDWORD*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 方式にも切替可。