ホーム › System.SettingsManagementInfrastructure › ISettingsContext
ISettingsContext
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT Serialize(IStream* pStream, ITargetInfo* pTarget)
| pStream | IStream* | in | コンテキストの内容を書き込む先のストリームへのポインタである。 |
| pTarget | ITargetInfo* | in | シリアル化の対象となるターゲット情報を表す ITargetInfo へのポインタである。 |
vtbl 4 HRESULT Deserialize(IStream* pStream, ITargetInfo* pTarget, ISettingsResult*** pppResults, UINT_PTR* pcResultCount)
| pStream | IStream* | in | コンテキストの内容を読み込むストリームへのポインタである。 |
| pTarget | ITargetInfo* | in | 逆シリアル化の対象となるターゲット情報を表す ITargetInfo へのポインタである。 |
| pppResults | ISettingsResult*** | out | 逆シリアル化の結果を表す ISettingsResult インターフェイスの配列を受け取るポインタである。 |
| pcResultCount | UINT_PTR* | out | 返された結果の個数を受け取るポインタである。 |
vtbl 5 HRESULT SetUserData(void* pUserData)
| pUserData | void* | in | コンテキストに関連付けるユーザーデータへのポインタである。 |
vtbl 6 HRESULT GetUserData(void** pUserData)
| pUserData | void** | out | コンテキストに関連付けられたユーザーデータを受け取るポインタである。 |
vtbl 7 HRESULT GetNamespaces(IItemEnumerator** ppNamespaceIds)
| ppNamespaceIds | IItemEnumerator** | out | コンテキストに含まれる名前空間の識別子を列挙する IItemEnumerator を受け取るポインタである。 |
vtbl 8 HRESULT GetStoredSettings(ISettingsIdentity* pIdentity, IItemEnumerator** ppAddedSettings, IItemEnumerator** ppModifiedSettings, IItemEnumerator** ppDeletedSettings)
| pIdentity | ISettingsIdentity* | in | 対象とする名前空間を識別する設定アイデンティティへのポインタである。 |
| ppAddedSettings | IItemEnumerator** | out | 追加された設定を列挙する IItemEnumerator を受け取るポインタである。 |
| ppModifiedSettings | IItemEnumerator** | out | 変更された設定を列挙する IItemEnumerator を受け取るポインタである。 |
| ppDeletedSettings | IItemEnumerator** | out | 削除された設定を列挙する IItemEnumerator を受け取るポインタである。 |
vtbl 9 HRESULT RevertSetting(ISettingsIdentity* pIdentity, LPWSTR pwzSetting)
| pIdentity | ISettingsIdentity* | in | 対象とする名前空間を識別する設定アイデンティティへのポインタである。 |
| pwzSetting | LPWSTR | in | 元に戻す設定項目へのパスを指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISettingsContext "{9F7D7BBD-20B3-11DA-81A5-0030F1642E3C}" #usecom global ISettingsContext IID_ISettingsContext "{}" #comfunc global ISettingsContext_Serialize 3 sptr,sptr #comfunc global ISettingsContext_Deserialize 4 sptr,sptr,sptr,var #comfunc global ISettingsContext_SetUserData 5 sptr #comfunc global ISettingsContext_GetUserData 6 sptr #comfunc global ISettingsContext_GetNamespaces 7 sptr #comfunc global ISettingsContext_GetStoredSettings 8 sptr,sptr,sptr,sptr #comfunc global ISettingsContext_RevertSetting 9 sptr,wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ISettingsContext "{9F7D7BBD-20B3-11DA-81A5-0030F1642E3C}" #usecom global ISettingsContext IID_ISettingsContext "{}" #comfunc global ISettingsContext_Serialize 3 sptr,sptr #comfunc global ISettingsContext_Deserialize 4 sptr,sptr,sptr,sptr #comfunc global ISettingsContext_SetUserData 5 sptr #comfunc global ISettingsContext_GetUserData 6 sptr #comfunc global ISettingsContext_GetNamespaces 7 sptr #comfunc global ISettingsContext_GetStoredSettings 8 sptr,sptr,sptr,sptr #comfunc global ISettingsContext_RevertSetting 9 sptr,wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。