ホーム › Storage.VirtualDiskService › IVdsAdmin
IVdsAdmin
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT RegisterProvider(GUID providerId, GUID providerClsid, LPWSTR pwszName, VDS_PROVIDER_TYPE type, LPWSTR pwszMachineName, LPWSTR pwszVersion, GUID guidVersionId)
| providerId | GUID | in | 登録するプロバイダーを識別する GUID である。 |
| providerClsid | GUID | in | プロバイダーの COM クラスを識別する CLSID(GUID)である。 |
| pwszName | LPWSTR | in | プロバイダーの表示名を指定する文字列である。 |
| type | VDS_PROVIDER_TYPE | in | プロバイダーの種別(ソフトウェア/ハードウェア等)を示す VDS_PROVIDER_TYPE 値である。 |
| pwszMachineName | LPWSTR | inoptional | プロバイダーが動作するマシン名を指定する文字列である。 |
| pwszVersion | LPWSTR | in | プロバイダーのバージョンを示す文字列である。 |
| guidVersionId | GUID | in | プロバイダーのバージョンを識別する GUID である。 |
vtbl 4 HRESULT UnregisterProvider(GUID providerId)
| providerId | GUID | in | 登録解除するプロバイダーを識別する GUID である。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IVdsAdmin "{D188E97D-85AA-4D33-ABC6-26299A10FFC1}"
#usecom global IVdsAdmin IID_IVdsAdmin "{}"
#comfunc global IVdsAdmin_RegisterProvider 3 int,int,wstr,int,wstr,wstr,int
#comfunc global IVdsAdmin_UnregisterProvider 4 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。