ホーム › Storage.EnhancedStorage › IEnhancedStorageACT
IEnhancedStorageACT
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| hwndParent | DWORD | in | 認証 UI の親ウィンドウとして用いるウィンドウハンドルを指定する。 |
| dwFlags | DWORD | in | 認証動作を制御するフラグを指定する。 |
vtbl 4 HRESULT Unauthorize()
vtbl 5 HRESULT GetAuthorizationState(ACT_AUTHORIZATION_STATE* pState)
| pState | ACT_AUTHORIZATION_STATE* | out | デバイスの現在の認証状態(ACT_AUTHORIZATION_STATE)を受け取るポインタである。 |
| ppwszVolume | LPWSTR* | out | この ACT に対応するボリューム名の文字列を受け取るポインタである。 |
| ppwszIdentity | LPWSTR* | out | この ACT を一意に識別する識別子文字列を受け取るポインタである。 |
vtbl 8 HRESULT GetSilos(IEnhancedStorageSilo*** pppIEnhancedStorageSilos, DWORD* pcEnhancedStorageSilos)
| pppIEnhancedStorageSilos | IEnhancedStorageSilo*** | out | この ACT に属するサイロを表す IEnhancedStorageSilo インターフェイス配列を受け取るポインタである。 |
| pcEnhancedStorageSilos | DWORD* | out | 返されたサイロの数を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IEnhancedStorageACT "{6E7781F4-E0F2-4239-B976-A01ABAB52930}" #usecom global IEnhancedStorageACT IID_IEnhancedStorageACT "{AF076A15-2ECE-4AD4-BB21-29F040E176D8}" #comfunc global IEnhancedStorageACT_Authorize 3 int,int #comfunc global IEnhancedStorageACT_Unauthorize 4 #comfunc global IEnhancedStorageACT_GetAuthorizationState 5 var #comfunc global IEnhancedStorageACT_GetMatchingVolume 6 var #comfunc global IEnhancedStorageACT_GetUniqueIdentity 7 var #comfunc global IEnhancedStorageACT_GetSilos 8 sptr,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IEnhancedStorageACT "{6E7781F4-E0F2-4239-B976-A01ABAB52930}" #usecom global IEnhancedStorageACT IID_IEnhancedStorageACT "{AF076A15-2ECE-4AD4-BB21-29F040E176D8}" #comfunc global IEnhancedStorageACT_Authorize 3 int,int #comfunc global IEnhancedStorageACT_Unauthorize 4 #comfunc global IEnhancedStorageACT_GetAuthorizationState 5 sptr #comfunc global IEnhancedStorageACT_GetMatchingVolume 6 sptr #comfunc global IEnhancedStorageACT_GetUniqueIdentity 7 sptr #comfunc global IEnhancedStorageACT_GetSilos 8 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。