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

ISettingsItem

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

メソッド 22

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

vtbl 3 HRESULT GetName(LPWSTR* Name)
NameLPWSTR*out設定項目の名前を受け取るポインタである。
vtbl 4 HRESULT GetValue(VARIANT* Value)
ValueVARIANT*out設定項目の値を受け取る VARIANT へのポインタである。
vtbl 5 HRESULT SetValue(VARIANT* Value)
ValueVARIANT*in設定項目に設定する値を格納した VARIANT へのポインタである。
vtbl 6 HRESULT GetSettingType(WcmSettingType* Type)
TypeWcmSettingType*out設定項目の種類(単純設定/リストなど)を受け取るポインタである。
vtbl 7 HRESULT GetDataType(WcmDataType* Type)
TypeWcmDataType*out設定項目の値のデータ型を受け取るポインタである。
vtbl 8 HRESULT GetValueRaw(BYTE** Data, DWORD* DataSize)
DataBYTE**out設定項目の値を生バイト列として格納したバッファを受け取るポインタである。
DataSizeDWORD*out返された生データのバイト数を受け取るポインタである。
vtbl 9 HRESULT SetValueRaw(INT DataType, BYTE* Data, DWORD DataSize)
DataTypeINTin設定するデータの型を指定する。
DataBYTE*in設定する生バイト列を格納したバッファへのポインタである。
DataSizeDWORDinData が指す生データのバイト数を指定する。
vtbl 10 HRESULT HasChild(BOOL* ItemHasChild)
ItemHasChildBOOL*outこの設定項目が子項目を持つかどうかを受け取るポインタである。
vtbl 11 HRESULT Children(IItemEnumerator** Children)
ChildrenIItemEnumerator**out子項目を列挙する IItemEnumerator インターフェイスを受け取るポインタである。
vtbl 12 HRESULT GetChild(LPWSTR Name, ISettingsItem** Child)
NameLPWSTRin取得する子項目の名前を指定する。
ChildISettingsItem**out指定した名前の子項目を表す ISettingsItem インターフェイスを受け取るポインタである。
vtbl 13 HRESULT GetSettingByPath(LPWSTR Path, ISettingsItem** Setting)
PathLPWSTRin取得する設定項目への相対パスを指定する。
SettingISettingsItem**out指定したパスの設定項目を表す ISettingsItem インターフェイスを受け取るポインタである。
vtbl 14 HRESULT CreateSettingByPath(LPWSTR Path, ISettingsItem** Setting)
PathLPWSTRin作成する設定項目への相対パスを指定する。
SettingISettingsItem**out作成された設定項目を表す ISettingsItem インターフェイスを受け取るポインタである。
vtbl 15 HRESULT RemoveSettingByPath(LPWSTR Path)
PathLPWSTRin削除する設定項目への相対パスを指定する。
vtbl 16 HRESULT GetListKeyInformation(LPWSTR* KeyName, WcmDataType* DataType)
KeyNameLPWSTR*outリスト要素のキーとなる項目の名前を受け取るポインタである。
DataTypeWcmDataType*outリストキーのデータ型を受け取るポインタである。
vtbl 17 HRESULT CreateListElement(VARIANT* KeyData, ISettingsItem** Child)
KeyDataVARIANT*in作成するリスト要素のキー値を格納した VARIANT へのポインタである。
ChildISettingsItem**out作成されたリスト要素を表す ISettingsItem インターフェイスを受け取るポインタである。
vtbl 18 HRESULT RemoveListElement(LPWSTR ElementName)
ElementNameLPWSTRin削除するリスト要素の名前を指定する。
vtbl 19 HRESULT Attributes(IItemEnumerator** Attributes)
AttributesIItemEnumerator**out設定項目の属性を列挙する IItemEnumerator インターフェイスを受け取るポインタである。
vtbl 20 HRESULT GetAttribute(LPWSTR Name, VARIANT* Value)
NameLPWSTRin取得する属性の名前を指定する。
ValueVARIANT*out指定した属性の値を受け取る VARIANT へのポインタである。
vtbl 21 HRESULT GetPath(LPWSTR* Path)
PathLPWSTR*outこの設定項目への完全パスを受け取るポインタである。
vtbl 22 HRESULT GetRestrictionFacets(WcmRestrictionFacets* RestrictionFacets)
RestrictionFacetsWcmRestrictionFacets*outこの設定項目に適用されている制約ファセットの種類を受け取るポインタである。
vtbl 23 HRESULT GetRestriction(WcmRestrictionFacets RestrictionFacet, VARIANT* FacetData)
RestrictionFacetWcmRestrictionFacetsin値を取得する対象の制約ファセットを指定する。
FacetDataVARIANT*out指定した制約ファセットのデータを受け取る VARIANT へのポインタである。
vtbl 24 HRESULT GetKeyValue(VARIANT* Value)
ValueVARIANT*outリスト要素のキー値を受け取る VARIANT へのポインタである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ISettingsItem "{9F7D7BBB-20B3-11DA-81A5-0030F1642E3C}"
#usecom global ISettingsItem IID_ISettingsItem "{}"
#comfunc global ISettingsItem_GetName                3 var
#comfunc global ISettingsItem_GetValue               4 var
#comfunc global ISettingsItem_SetValue               5 var
#comfunc global ISettingsItem_GetSettingType         6 var
#comfunc global ISettingsItem_GetDataType            7 var
#comfunc global ISettingsItem_GetValueRaw            8 var,var
#comfunc global ISettingsItem_SetValueRaw            9 int,var,int
#comfunc global ISettingsItem_HasChild               10 var
#comfunc global ISettingsItem_Children               11 sptr
#comfunc global ISettingsItem_GetChild               12 wstr,sptr
#comfunc global ISettingsItem_GetSettingByPath       13 wstr,sptr
#comfunc global ISettingsItem_CreateSettingByPath    14 wstr,sptr
#comfunc global ISettingsItem_RemoveSettingByPath    15 wstr
#comfunc global ISettingsItem_GetListKeyInformation  16 var,var
#comfunc global ISettingsItem_CreateListElement      17 var,sptr
#comfunc global ISettingsItem_RemoveListElement      18 wstr
#comfunc global ISettingsItem_Attributes             19 sptr
#comfunc global ISettingsItem_GetAttribute           20 wstr,var
#comfunc global ISettingsItem_GetPath                21 var
#comfunc global ISettingsItem_GetRestrictionFacets   22 var
#comfunc global ISettingsItem_GetRestriction         23 int,var
#comfunc global ISettingsItem_GetKeyValue            24 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。