ホーム › System.SettingsManagementInfrastructure › ISettingsNamespace
ISettingsNamespace
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetIdentity(ISettingsIdentity** SettingsID)
| SettingsID | ISettingsIdentity** | out | この名前空間を識別する設定アイデンティティを受け取るポインタである。 |
vtbl 4 HRESULT Settings(IItemEnumerator** Settings)
| Settings | IItemEnumerator** | out | 名前空間内の設定項目を列挙する IItemEnumerator インターフェイスを受け取るポインタである。 |
vtbl 5 HRESULT Save(BOOL PushSettings, ISettingsResult** Result)
| PushSettings | BOOL | in | 保存時に設定を適用(プッシュ)する場合は TRUE を指定する。 |
| Result | ISettingsResult** | out | 保存処理の結果を表す ISettingsResult インターフェイスを受け取るポインタである。 |
vtbl 6 HRESULT GetSettingByPath(LPWSTR Path, ISettingsItem** Setting)
| Path | LPWSTR | in | 取得する設定項目へのパスを指定する。 |
| Setting | ISettingsItem** | out | 指定したパスの設定項目を表す ISettingsItem インターフェイスを受け取るポインタである。 |
vtbl 7 HRESULT CreateSettingByPath(LPWSTR Path, ISettingsItem** Setting)
| Path | LPWSTR | in | 作成する設定項目へのパスを指定する。 |
| Setting | ISettingsItem** | out | 作成された設定項目を表す ISettingsItem インターフェイスを受け取るポインタである。 |
| Path | LPWSTR | in | 削除する設定項目へのパスを指定する。 |
| Name | LPWSTR | in | 取得する属性の名前を指定する。 |
| Value | VARIANT* | out | 指定した属性の値を受け取る VARIANT へのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISettingsNamespace "{9F7D7BBA-20B3-11DA-81A5-0030F1642E3C}" #usecom global ISettingsNamespace IID_ISettingsNamespace "{}" #comfunc global ISettingsNamespace_GetIdentity 3 sptr #comfunc global ISettingsNamespace_Settings 4 sptr #comfunc global ISettingsNamespace_Save 5 int,sptr #comfunc global ISettingsNamespace_GetSettingByPath 6 wstr,sptr #comfunc global ISettingsNamespace_CreateSettingByPath 7 wstr,sptr #comfunc global ISettingsNamespace_RemoveSettingByPath 8 wstr #comfunc global ISettingsNamespace_GetAttribute 9 wstr,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISettingsNamespace "{9F7D7BBA-20B3-11DA-81A5-0030F1642E3C}" #usecom global ISettingsNamespace IID_ISettingsNamespace "{}" #comfunc global ISettingsNamespace_GetIdentity 3 sptr #comfunc global ISettingsNamespace_Settings 4 sptr #comfunc global ISettingsNamespace_Save 5 int,sptr #comfunc global ISettingsNamespace_GetSettingByPath 6 wstr,sptr #comfunc global ISettingsNamespace_CreateSettingByPath 7 wstr,sptr #comfunc global ISettingsNamespace_RemoveSettingByPath 8 wstr #comfunc global ISettingsNamespace_GetAttribute 9 wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。