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

IEnhancedStorageACT

COM
IID6e7781f4-e0f2-4239-b976-a01abab52930継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

1667 Addressable Contact Target (ACT) の情報を取得し、操作を実行するためのインターフェイスです。

メソッド 6

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

vtbl 3 HRESULT Authorize(DWORD hwndParent, DWORD dwFlags)

Addressable Command Target (ACT) を ACT_AUTHORIZATION_STATE で定義される Authorized 状態に関連付けます。また、ACT へのアクセスを承認するために必要な順序と論理的な組み合わせに従って、個々のサイロそれぞれの認証を確実に行います。

hwndParentDWORDin使用されません。
dwFlagsDWORDin使用されません。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
承認が正常に完了しました。
E_FAIL
承認操作が失敗しました。

解説(Remarks)

このインターフェイスメソッドは、アプリケーションが ACT を 'Authorized' 状態に変更したい場合に使用できます。

vtbl 4 HRESULT Unauthorize()

Addressable Command Target (ACT) を ACT_AUTHORIZATION_STATE で定義される Unauthorized 状態に関連付けます。また、ACT へのアクセスを制限するために必要な順序と論理的な組み合わせに従って、個々のサイロそれぞれの認証解除を確実に行います。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
承認の解除が正常に完了しました。
vtbl 5 HRESULT GetAuthorizationState(ACT_AUTHORIZATION_STATE* pState)

ACT の現在の承認状態を返します。

pStateACT_AUTHORIZATION_STATE*outACT の現在の承認状態を示す ACT_AUTHORIZATION_STATE へのポインターです。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
現在の承認状態が正常に取得されました。
E_INVALIDARG
pStateNULL です。
vtbl 6 HRESULT GetMatchingVolume(LPWSTR* ppwszVolume)

Addressable Command Target (ACT) に関連付けられているボリュームを返します。

ppwszVolumeLPWSTR*outACT に関連付けられているボリュームを表す文字列へのポインターです。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
関連付けられているボリュームが正常に返されました。
vtbl 7 HRESULT GetUniqueIdentity(LPWSTR* ppwszIdentity)

Addressable Command Target (ACT) の一意の ID を取得します。

ppwszIdentityLPWSTR*outACT の一意の ID を表す文字列へのポインターです。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
一意の ID が正常に取得されました。
E_INVALIDARG
ppwszIdentityNULL です。

解説(Remarks)

ACT の一意の ID を格納するメモリは Enhanced Storage API によって割り当てられます。返されたポインターを CoTaskMemFree に渡して解放する必要があります。

vtbl 8 HRESULT GetSilos(IEnhancedStorageSilo*** pppIEnhancedStorageSilos, DWORD* pcEnhancedStorageSilos)

Addressable Command Target (ACT) に関連付けられているすべてのサイロの列挙を返します。

pppIEnhancedStorageSilosIEnhancedStorageSilo***outACT に関連付けられている 1 つ以上の IEnhancedStorageSilo インターフェイスポインターの配列を返します。
pcEnhancedStorageSilosDWORD*out返された IEnhancedStorageSilo ポインターの数です。この値は pppIEnhancedStorageSilos が表す配列の要素数を示します。

戻り値

このメソッドは次のいずれかの値を返します。

戻り値 説明
S_OK
コマンドが正常に送信され、関連付けられているすべてのサイロが列挙されました。
E_OUTOFMEMORY
メモリの割り当てが不足しているため、コマンドが失敗しました。
E_INVALIDARG
pppIEnhancedStorageSilos または pcEnhancedStorageSilosNULL です。

解説(Remarks)

IEnhancedStorageSilo インターフェイスの配列を格納するメモリは Enhanced Storage API によって割り当てられます。返されたポインターを CoTaskMemFree に渡して解放する必要があります。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

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 指定が可能。