Win32 API 日本語リファレンス
ホームSystem.SettingsManagementInfrastructure › ISettingsEngine

ISettingsEngine

COM
IID9f7d7bb9-20b3-11da-81a5-0030f1642e3c継承元IUnknown自前メソッド開始 vtbl3

メソッド 16

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

vtbl 3 HRESULT GetNamespaces(WcmNamespaceEnumerationFlags Flags, void* Reserved, IItemEnumerator** Namespaces)
FlagsWcmNamespaceEnumerationFlagsin名前空間の列挙方法を制御する列挙フラグを指定する。
Reservedvoid*in予約済みであり、NULL を指定する。
NamespacesIItemEnumerator**out名前空間を列挙する IItemEnumerator インターフェイスを受け取るポインタである。
vtbl 4 HRESULT GetNamespace(ISettingsIdentity* SettingsID, WcmNamespaceAccess Access, void* Reserved, ISettingsNamespace** NamespaceItem)
SettingsIDISettingsIdentity*in取得する名前空間を識別する設定アイデンティティへのポインタである。
AccessWcmNamespaceAccessin名前空間に対するアクセスモード(読み取り/書き込みなど)を指定する。
Reservedvoid*in予約済みであり、NULL を指定する。
NamespaceItemISettingsNamespace**out取得された ISettingsNamespace インターフェイスを受け取るポインタである。
vtbl 5 HRESULT GetErrorDescription(INT HResult, LPWSTR* Message)
HResultINTin説明を取得する対象の HRESULT 値を指定する。
MessageLPWSTR*outHRESULT に対応するエラーの説明文字列を受け取るポインタである。
vtbl 6 HRESULT CreateSettingsIdentity(ISettingsIdentity** SettingsID)
SettingsIDISettingsIdentity**out新規に作成された ISettingsIdentity インターフェイスを受け取るポインタである。
vtbl 7 HRESULT GetStoreStatus(void* Reserved, WcmUserStatus* Status)
Reservedvoid*in予約済みであり、NULL を指定する。
StatusWcmUserStatus*out設定ストアの状態を受け取るポインタである。
vtbl 8 HRESULT LoadStore(DWORD Flags)
FlagsDWORDinストアの読み込み方法を制御するフラグを指定する。
vtbl 9 HRESULT UnloadStore(void* Reserved)
Reservedvoid*in予約済みであり、NULL を指定する。
vtbl 10 HRESULT RegisterNamespace(ISettingsIdentity* SettingsID, IStream* Stream, BOOL PushSettings, VARIANT* Results)
SettingsIDISettingsIdentity*in登録する名前空間を識別する設定アイデンティティへのポインタである。
StreamIStream*in名前空間のスキーマ定義を含むストリームへのポインタである。
PushSettingsBOOLin登録時に設定を適用(プッシュ)する場合は TRUE を指定する。
ResultsVARIANT*out登録処理の結果を受け取る VARIANT へのポインタである。
vtbl 11 HRESULT UnregisterNamespace(ISettingsIdentity* SettingsID, BOOL RemoveSettings)
SettingsIDISettingsIdentity*in登録解除する名前空間を識別する設定アイデンティティへのポインタである。
RemoveSettingsBOOLin登録解除時に関連する設定も削除する場合は TRUE を指定する。
vtbl 12 HRESULT CreateTargetInfo(ITargetInfo** Target)
TargetITargetInfo**out新規に作成された ITargetInfo インターフェイスを受け取るポインタである。
vtbl 13 HRESULT GetTargetInfo(ITargetInfo** Target)
TargetITargetInfo**out現在のターゲット情報を表す ITargetInfo インターフェイスを受け取るポインタである。
vtbl 14 HRESULT SetTargetInfo(ITargetInfo* Target)
TargetITargetInfo*in設定するターゲット情報を表す ITargetInfo インターフェイスへのポインタである。
vtbl 15 HRESULT CreateSettingsContext(DWORD Flags, void* Reserved, ISettingsContext** SettingsContext)
FlagsDWORDinコンテキストの作成方法を制御するフラグを指定する。
Reservedvoid*in予約済みであり、NULL を指定する。
SettingsContextISettingsContext**out新規に作成された ISettingsContext インターフェイスを受け取るポインタである。
vtbl 16 HRESULT SetSettingsContext(ISettingsContext* SettingsContext)
SettingsContextISettingsContext*in設定する ISettingsContext インターフェイスへのポインタである。
vtbl 17 HRESULT ApplySettingsContext(ISettingsContext* SettingsContext, LPWSTR** pppwzIdentities, UINT_PTR* pcIdentities)
SettingsContextISettingsContext*in適用する ISettingsContext インターフェイスへのポインタである。
pppwzIdentitiesLPWSTR**out適用された設定のアイデンティティ文字列の配列を受け取るポインタである。
pcIdentitiesUINT_PTR*out返されたアイデンティティの個数を受け取るポインタである。
vtbl 18 HRESULT GetSettingsContext(ISettingsContext** SettingsContext)
SettingsContextISettingsContext**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 指定が可能。