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

IFsrmQuotaBase

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID1568a795-3924-4118-b74b-68d8f0fa5daf継承元IFsrmObject呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl12

メソッド 10

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

vtbl 12 HRESULT get_QuotaLimit(VARIANT* quotaLimit)
quotaLimitVARIANT*outクォータの上限値(バイト)を格納した VARIANT を受け取るポインタである。
vtbl 13 HRESULT put_QuotaLimit(VARIANT quotaLimit)
quotaLimitVARIANTin設定するクォータの上限値(バイト)を格納した VARIANT である。
vtbl 14 HRESULT get_QuotaFlags(INT* quotaFlags)
quotaFlagsINT*outクォータの動作を表すフラグを受け取るポインタである。
vtbl 15 HRESULT put_QuotaFlags(INT quotaFlags)
quotaFlagsINTin設定するクォータの動作フラグを指定する。
vtbl 16 HRESULT get_Thresholds(SAFEARRAY** thresholds)
thresholdsSAFEARRAY**out設定されているしきい値(使用率パーセント)の一覧を表す SAFEARRAY を受け取るポインタである。
vtbl 17 HRESULT AddThreshold(INT threshold)
thresholdINTin追加するしきい値(クォータ上限に対する使用率パーセント)を指定する。
vtbl 18 HRESULT DeleteThreshold(INT threshold)
thresholdINTin削除する既存のしきい値(使用率パーセント)を指定する。
vtbl 19 HRESULT ModifyThreshold(INT threshold, INT newThreshold)
thresholdINTin変更対象の既存のしきい値(使用率パーセント)を指定する。
newThresholdINTin変更後の新しいしきい値(使用率パーセント)を指定する。
vtbl 20 HRESULT CreateThresholdAction(INT threshold, FsrmActionType actionType, IFsrmAction** action)
thresholdINTinアクションを作成する対象のしきい値(使用率パーセント)を指定する。
actionTypeFsrmActionTypein作成するアクションの種類(FsrmActionType)を指定する。
actionIFsrmAction**out作成された IFsrmAction インターフェイスを受け取るポインタである。
vtbl 21 HRESULT EnumThresholdActions(INT threshold, IFsrmCollection** actions)
thresholdINTinアクションを列挙する対象のしきい値(使用率パーセント)を指定する。
actionsIFsrmCollection**out指定しきい値に関連付けられたアクションの一覧(IFsrmCollection)を受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IFsrmQuotaBase "{1568A795-3924-4118-B74B-68D8F0FA5DAF}"
#usecom global IFsrmQuotaBase IID_IFsrmQuotaBase "{}"
#comfunc global IFsrmQuotaBase_get_QuotaLimit         12 var
#comfunc global IFsrmQuotaBase_put_QuotaLimit         13 int
#comfunc global IFsrmQuotaBase_get_QuotaFlags         14 var
#comfunc global IFsrmQuotaBase_put_QuotaFlags         15 int
#comfunc global IFsrmQuotaBase_get_Thresholds         16 var
#comfunc global IFsrmQuotaBase_AddThreshold           17 int
#comfunc global IFsrmQuotaBase_DeleteThreshold        18 int
#comfunc global IFsrmQuotaBase_ModifyThreshold        19 int,int
#comfunc global IFsrmQuotaBase_CreateThresholdAction  20 int,int,sptr
#comfunc global IFsrmQuotaBase_EnumThresholdActions   21 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。