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

IVdsMaintenance

COM
IIDdaebeef3-8523-47ed-a2b9-05cecce2a1ae継承元IUnknown自前メソッド開始 vtbl3

メソッド 3

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

vtbl 3 HRESULT StartMaintenance(VDS_MAINTENANCE_OPERATION operation)
operationVDS_MAINTENANCE_OPERATIONin開始するメンテナンス操作を表す VDS_MAINTENANCE_OPERATION 値を指定する。
vtbl 4 HRESULT StopMaintenance(VDS_MAINTENANCE_OPERATION operation)
operationVDS_MAINTENANCE_OPERATIONin停止するメンテナンス操作を表す VDS_MAINTENANCE_OPERATION 値を指定する。
vtbl 5 HRESULT PulseMaintenance(VDS_MAINTENANCE_OPERATION operation, DWORD ulCount)
operationVDS_MAINTENANCE_OPERATIONin実行するメンテナンス操作を表す VDS_MAINTENANCE_OPERATION 値を指定する。
ulCountDWORDinメンテナンス操作を実行する回数(パルス回数)を指定する。

HSP用 COM定義

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

#define global IID_IVdsMaintenance "{DAEBEEF3-8523-47ED-A2B9-05CECCE2A1AE}"
#usecom global IVdsMaintenance IID_IVdsMaintenance "{}"
#comfunc global IVdsMaintenance_StartMaintenance  3 int
#comfunc global IVdsMaintenance_StopMaintenance   4 int
#comfunc global IVdsMaintenance_PulseMaintenance  5 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。