ホーム › System.SettingsManagementInfrastructure › ISettingsEngine
ISettingsEngine
COMメソッド 16
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetNamespaces(WcmNamespaceEnumerationFlags Flags, void* Reserved, IItemEnumerator** Namespaces)
| Flags | WcmNamespaceEnumerationFlags | in | 名前空間の列挙方法を制御する列挙フラグを指定する。 |
| Reserved | void* | in | 予約済みであり、NULL を指定する。 |
| Namespaces | IItemEnumerator** | out | 名前空間を列挙する IItemEnumerator インターフェイスを受け取るポインタである。 |
vtbl 4 HRESULT GetNamespace(ISettingsIdentity* SettingsID, WcmNamespaceAccess Access, void* Reserved, ISettingsNamespace** NamespaceItem)
| SettingsID | ISettingsIdentity* | in | 取得する名前空間を識別する設定アイデンティティへのポインタである。 |
| Access | WcmNamespaceAccess | in | 名前空間に対するアクセスモード(読み取り/書き込みなど)を指定する。 |
| Reserved | void* | in | 予約済みであり、NULL を指定する。 |
| NamespaceItem | ISettingsNamespace** | out | 取得された ISettingsNamespace インターフェイスを受け取るポインタである。 |
| HResult | INT | in | 説明を取得する対象の HRESULT 値を指定する。 |
| Message | LPWSTR* | out | HRESULT に対応するエラーの説明文字列を受け取るポインタである。 |
vtbl 6 HRESULT CreateSettingsIdentity(ISettingsIdentity** SettingsID)
| SettingsID | ISettingsIdentity** | out | 新規に作成された ISettingsIdentity インターフェイスを受け取るポインタである。 |
vtbl 7 HRESULT GetStoreStatus(void* Reserved, WcmUserStatus* Status)
| Reserved | void* | in | 予約済みであり、NULL を指定する。 |
| Status | WcmUserStatus* | out | 設定ストアの状態を受け取るポインタである。 |
| Flags | DWORD | in | ストアの読み込み方法を制御するフラグを指定する。 |
vtbl 9 HRESULT UnloadStore(void* Reserved)
| Reserved | void* | in | 予約済みであり、NULL を指定する。 |
vtbl 10 HRESULT RegisterNamespace(ISettingsIdentity* SettingsID, IStream* Stream, BOOL PushSettings, VARIANT* Results)
| SettingsID | ISettingsIdentity* | in | 登録する名前空間を識別する設定アイデンティティへのポインタである。 |
| Stream | IStream* | in | 名前空間のスキーマ定義を含むストリームへのポインタである。 |
| PushSettings | BOOL | in | 登録時に設定を適用(プッシュ)する場合は TRUE を指定する。 |
| Results | VARIANT* | out | 登録処理の結果を受け取る VARIANT へのポインタである。 |
vtbl 11 HRESULT UnregisterNamespace(ISettingsIdentity* SettingsID, BOOL RemoveSettings)
| SettingsID | ISettingsIdentity* | in | 登録解除する名前空間を識別する設定アイデンティティへのポインタである。 |
| RemoveSettings | BOOL | in | 登録解除時に関連する設定も削除する場合は TRUE を指定する。 |
vtbl 12 HRESULT CreateTargetInfo(ITargetInfo** Target)
| Target | ITargetInfo** | out | 新規に作成された ITargetInfo インターフェイスを受け取るポインタである。 |
vtbl 13 HRESULT GetTargetInfo(ITargetInfo** Target)
| Target | ITargetInfo** | out | 現在のターゲット情報を表す ITargetInfo インターフェイスを受け取るポインタである。 |
vtbl 14 HRESULT SetTargetInfo(ITargetInfo* Target)
| Target | ITargetInfo* | in | 設定するターゲット情報を表す ITargetInfo インターフェイスへのポインタである。 |
vtbl 15 HRESULT CreateSettingsContext(DWORD Flags, void* Reserved, ISettingsContext** SettingsContext)
| Flags | DWORD | in | コンテキストの作成方法を制御するフラグを指定する。 |
| Reserved | void* | in | 予約済みであり、NULL を指定する。 |
| SettingsContext | ISettingsContext** | out | 新規に作成された ISettingsContext インターフェイスを受け取るポインタである。 |
vtbl 16 HRESULT SetSettingsContext(ISettingsContext* SettingsContext)
| SettingsContext | ISettingsContext* | in | 設定する ISettingsContext インターフェイスへのポインタである。 |
vtbl 17 HRESULT ApplySettingsContext(ISettingsContext* SettingsContext, LPWSTR** pppwzIdentities, UINT_PTR* pcIdentities)
| SettingsContext | ISettingsContext* | in | 適用する ISettingsContext インターフェイスへのポインタである。 |
| pppwzIdentities | LPWSTR** | out | 適用された設定のアイデンティティ文字列の配列を受け取るポインタである。 |
| pcIdentities | UINT_PTR* | out | 返されたアイデンティティの個数を受け取るポインタである。 |
vtbl 18 HRESULT GetSettingsContext(ISettingsContext** SettingsContext)
| SettingsContext | ISettingsContext** | out | 現在の ISettingsContext インターフェイスを受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISettingsEngine "{9F7D7BB9-20B3-11DA-81A5-0030F1642E3C}" #usecom global ISettingsEngine IID_ISettingsEngine "{9F7D7BB5-20B3-11DA-81A5-0030F1642E3C}" #comfunc global ISettingsEngine_GetNamespaces 3 int,sptr,sptr #comfunc global ISettingsEngine_GetNamespace 4 sptr,int,sptr,sptr #comfunc global ISettingsEngine_GetErrorDescription 5 int,var #comfunc global ISettingsEngine_CreateSettingsIdentity 6 sptr #comfunc global ISettingsEngine_GetStoreStatus 7 sptr,var #comfunc global ISettingsEngine_LoadStore 8 int #comfunc global ISettingsEngine_UnloadStore 9 sptr #comfunc global ISettingsEngine_RegisterNamespace 10 sptr,sptr,int,var #comfunc global ISettingsEngine_UnregisterNamespace 11 sptr,int #comfunc global ISettingsEngine_CreateTargetInfo 12 sptr #comfunc global ISettingsEngine_GetTargetInfo 13 sptr #comfunc global ISettingsEngine_SetTargetInfo 14 sptr #comfunc global ISettingsEngine_CreateSettingsContext 15 int,sptr,sptr #comfunc global ISettingsEngine_SetSettingsContext 16 sptr #comfunc global ISettingsEngine_ApplySettingsContext 17 sptr,var,var #comfunc global ISettingsEngine_GetSettingsContext 18 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISettingsEngine "{9F7D7BB9-20B3-11DA-81A5-0030F1642E3C}" #usecom global ISettingsEngine IID_ISettingsEngine "{9F7D7BB5-20B3-11DA-81A5-0030F1642E3C}" #comfunc global ISettingsEngine_GetNamespaces 3 int,sptr,sptr #comfunc global ISettingsEngine_GetNamespace 4 sptr,int,sptr,sptr #comfunc global ISettingsEngine_GetErrorDescription 5 int,sptr #comfunc global ISettingsEngine_CreateSettingsIdentity 6 sptr #comfunc global ISettingsEngine_GetStoreStatus 7 sptr,sptr #comfunc global ISettingsEngine_LoadStore 8 int #comfunc global ISettingsEngine_UnloadStore 9 sptr #comfunc global ISettingsEngine_RegisterNamespace 10 sptr,sptr,int,sptr #comfunc global ISettingsEngine_UnregisterNamespace 11 sptr,int #comfunc global ISettingsEngine_CreateTargetInfo 12 sptr #comfunc global ISettingsEngine_GetTargetInfo 13 sptr #comfunc global ISettingsEngine_SetTargetInfo 14 sptr #comfunc global ISettingsEngine_CreateSettingsContext 15 int,sptr,sptr #comfunc global ISettingsEngine_SetSettingsContext 16 sptr #comfunc global ISettingsEngine_ApplySettingsContext 17 sptr,sptr,sptr #comfunc global ISettingsEngine_GetSettingsContext 18 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。