Win32 API 日本語リファレンス
ホームSystem.Diagnostics.Debug.Extensions › IModelObject

IModelObject

COM
IIDe28c7893-3f4b-4b96-baca-293cdc55f45d継承元IUnknown自前メソッド開始 vtbl3

メソッド 33

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

vtbl 3 HRESULT GetContext(IDebugHostContext** context)
contextIDebugHostContext**outこのオブジェクトに関連付けられたホストコンテキストを受け取るポインタである。
vtbl 4 HRESULT GetKind(ModelObjectKind* kind)
kindModelObjectKind*outオブジェクトの種類を示す ModelObjectKind 値を受け取るポインタである。
vtbl 5 HRESULT GetIntrinsicValue(VARIANT* intrinsicData)
intrinsicDataVARIANT*outオブジェクトが保持する組み込み(intrinsic)値を VARIANT として受け取るポインタである。
vtbl 6 HRESULT GetIntrinsicValueAs(VARENUM vt, VARIANT* intrinsicData)
vtVARENUMin値を変換して取得する VARIANT 型(VARENUM)を指定する。
intrinsicDataVARIANT*out指定した型に変換した組み込み値を受け取る VARIANT へのポインタである。
vtbl 7 HRESULT GetKeyValue(LPWSTR key, IModelObject** object, IKeyStore** metadata)
keyLPWSTRin取得する値のキー名を指定する。
objectIModelObject**outoptionalキーに格納された値(必要に応じて評価される)を受け取るポインタである。
metadataIKeyStore**outoptionalキーに関連付けられたメタデータストアを受け取るポインタである。不要なら NULL を指定できる。
vtbl 8 HRESULT SetKeyValue(LPWSTR key, IModelObject* object)
keyLPWSTRin値を設定するキー名を指定する。
objectIModelObject*inoptionalキーに設定する値(オブジェクト)を指定する。
vtbl 9 HRESULT EnumerateKeyValues(IKeyEnumerator** enumerator)
enumeratorIKeyEnumerator**outキーと値を列挙する IKeyEnumerator を受け取るポインタである。
vtbl 10 HRESULT GetRawValue(SymbolKind kind, LPWSTR name, DWORD searchFlags, IModelObject** object)
kindSymbolKindin取得するシンボルの種類(SymbolKind)を指定する。
nameLPWSTRin取得するネイティブシンボル(フィールド・基底クラスなど)の名前を指定する。
searchFlagsDWORDin検索の動作を制御するフラグを指定する。
objectIModelObject**out取得した生の(ネイティブ)値を保持するオブジェクトを受け取るポインタである。
vtbl 11 HRESULT EnumerateRawValues(SymbolKind kind, DWORD searchFlags, IRawEnumerator** enumerator)
kindSymbolKindin列挙するシンボルの種類(SymbolKind)を指定する。
searchFlagsDWORDin検索の動作を制御するフラグを指定する。
enumeratorIRawEnumerator**out生の(ネイティブ)値を列挙する IRawEnumerator を受け取るポインタである。
vtbl 12 HRESULT Dereference(IModelObject** object)
objectIModelObject**out逆参照した結果のオブジェクトを受け取るポインタである。
vtbl 13 HRESULT TryCastToRuntimeType(IModelObject** runtimeTypedObject)
runtimeTypedObjectIModelObject**out実行時の派生型へキャストしたオブジェクトを受け取るポインタである。
vtbl 14 HRESULT GetConcept(GUID* conceptId, IUnknown** conceptInterface, IKeyStore** conceptMetadata)
conceptIdGUID*in取得するコンセプトを識別する GUID(インターフェイス ID)へのポインタである。
conceptInterfaceIUnknown**outコンセプトを実装するインターフェイスを受け取るポインタである。
conceptMetadataIKeyStore**outoptionalコンセプトに関連付けられたメタデータストアを受け取るポインタである。不要なら NULL を指定できる。
vtbl 15 HRESULT GetLocation(Location* location)
locationLocation*outオブジェクトのネイティブな位置を表す Location 構造体を受け取るポインタである。
vtbl 16 HRESULT GetTypeInfo(IDebugHostType** type)
typeIDebugHostType**outオブジェクトのネイティブ型を表す IDebugHostType を受け取るポインタである。
vtbl 17 HRESULT GetTargetInfo(Location* location, IDebugHostType** type)
locationLocation*outオブジェクトのネイティブな位置を表す Location 構造体を受け取るポインタである。
typeIDebugHostType**outオブジェクトのネイティブ型を表す IDebugHostType を受け取るポインタである。
vtbl 18 HRESULT GetNumberOfParentModels(ULONGLONG* numModels)
numModelsULONGLONG*out親データモデルの個数を受け取るポインタである。
vtbl 19 HRESULT GetParentModel(ULONGLONG i, IModelObject** model, IModelObject** contextObject)
iULONGLONGin取得する親モデルのゼロ始まりのインデックスを指定する。
modelIModelObject**out指定したインデックスの親モデルを受け取るポインタである。
contextObjectIModelObject**out親モデルに関連付けられたコンテキストオブジェクトを受け取るポインタである。
vtbl 20 HRESULT AddParentModel(IModelObject* model, IModelObject* contextObject, BYTE override)
modelIModelObject*in追加する親データモデルを指定する。
contextObjectIModelObject*inoptional親モデルの適用コンテキストとなるオブジェクトを指定する。不要なら NULL を指定できる。
overrideBYTEin既存の親モデルより優先して先頭に追加する場合は TRUE を指定する。
vtbl 21 HRESULT RemoveParentModel(IModelObject* model)
modelIModelObject*in削除する親データモデルを指定する。
vtbl 22 HRESULT GetKey(LPWSTR key, IModelObject** object, IKeyStore** metadata)
keyLPWSTRin取得する値のキー名を指定する。
objectIModelObject**outoptionalキーの値(オブジェクト)を受け取るポインタである。
metadataIKeyStore**outoptionalキーに関連付けられたメタデータストアを受け取るポインタである。不要なら NULL を指定できる。
vtbl 23 HRESULT GetKeyReference(LPWSTR key, IModelObject** objectReference, IKeyStore** metadata)
keyLPWSTRin参照を取得するキー名を指定する。
objectReferenceIModelObject**outoptionalキーへの参照を表すオブジェクトを受け取るポインタである。
metadataIKeyStore**outoptionalキーに関連付けられたメタデータストアを受け取るポインタである。不要なら NULL を指定できる。
vtbl 24 HRESULT SetKey(LPWSTR key, IModelObject* object, IKeyStore* metadata)
keyLPWSTRin設定する値のキー名を指定する。
objectIModelObject*inoptionalキーに設定する値(オブジェクト)を指定する。
metadataIKeyStore*inoptionalキーに関連付けるメタデータストアを指定する。不要なら NULL を指定できる。
vtbl 25 HRESULT ClearKeys()
vtbl 26 HRESULT EnumerateKeys(IKeyEnumerator** enumerator)
enumeratorIKeyEnumerator**outキーを列挙する IKeyEnumerator を受け取るポインタである。
vtbl 27 HRESULT EnumerateKeyReferences(IKeyEnumerator** enumerator)
enumeratorIKeyEnumerator**outキーへの参照を列挙する IKeyEnumerator を受け取るポインタである。
vtbl 28 HRESULT SetConcept(GUID* conceptId, IUnknown* conceptInterface, IKeyStore* conceptMetadata)
conceptIdGUID*in設定するコンセプトを識別する GUID(インターフェイス ID)へのポインタである。
conceptInterfaceIUnknown*inコンセプトを実装するインターフェイスを指定する。
conceptMetadataIKeyStore*inoptionalコンセプトに関連付けるメタデータストアを指定する。不要なら NULL を指定できる。
vtbl 29 HRESULT ClearConcepts()
vtbl 30 HRESULT GetRawReference(SymbolKind kind, LPWSTR name, DWORD searchFlags, IModelObject** object)
kindSymbolKindin取得するシンボルの種類(SymbolKind)を指定する。
nameLPWSTRin参照を取得するネイティブシンボルの名前を指定する。
searchFlagsDWORDin検索の動作を制御するフラグを指定する。
objectIModelObject**out生の(ネイティブ)シンボルへの参照を受け取るポインタである。
vtbl 31 HRESULT EnumerateRawReferences(SymbolKind kind, DWORD searchFlags, IRawEnumerator** enumerator)
kindSymbolKindin列挙するシンボルの種類(SymbolKind)を指定する。
searchFlagsDWORDin検索の動作を制御するフラグを指定する。
enumeratorIRawEnumerator**out生の(ネイティブ)シンボルへの参照を列挙する IRawEnumerator を受け取るポインタである。
vtbl 32 HRESULT SetContextForDataModel(IModelObject* dataModelObject, IUnknown* context)
dataModelObjectIModelObject*in対象のデータモデルオブジェクトを指定する。
contextIUnknown*inデータモデルに関連付けるコンテキストオブジェクトを指定する。
vtbl 33 HRESULT GetContextForDataModel(IModelObject* dataModelObject, IUnknown** context)
dataModelObjectIModelObject*in対象のデータモデルオブジェクトを指定する。
contextIUnknown**outデータモデルに関連付けられたコンテキストオブジェクトを受け取るポインタである。
vtbl 34 HRESULT Compare(IModelObject* other, IModelObject** ppResult)
otherIModelObject*in比較対象となるオブジェクトを指定する。
ppResultIModelObject**outoptional比較結果(順序を表す数値)を保持するオブジェクトを受け取るポインタである。
vtbl 35 HRESULT IsEqualTo(IModelObject* other, BOOLEAN* equal)
otherIModelObject*in比較対象となるオブジェクトを指定する。
equalBOOLEAN*out両者が等しい場合に TRUE を受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IModelObject "{E28C7893-3F4B-4B96-BACA-293CDC55F45D}"
#usecom global IModelObject IID_IModelObject "{}"
#comfunc global IModelObject_GetContext               3 sptr
#comfunc global IModelObject_GetKind                  4 var
#comfunc global IModelObject_GetIntrinsicValue        5 var
#comfunc global IModelObject_GetIntrinsicValueAs      6 int,var
#comfunc global IModelObject_GetKeyValue              7 wstr,sptr,sptr
#comfunc global IModelObject_SetKeyValue              8 wstr,sptr
#comfunc global IModelObject_EnumerateKeyValues       9 sptr
#comfunc global IModelObject_GetRawValue              10 int,wstr,int,sptr
#comfunc global IModelObject_EnumerateRawValues       11 int,int,sptr
#comfunc global IModelObject_Dereference              12 sptr
#comfunc global IModelObject_TryCastToRuntimeType     13 sptr
#comfunc global IModelObject_GetConcept               14 var,sptr,sptr
#comfunc global IModelObject_GetLocation              15 var
#comfunc global IModelObject_GetTypeInfo              16 sptr
#comfunc global IModelObject_GetTargetInfo            17 var,sptr
#comfunc global IModelObject_GetNumberOfParentModels  18 var
#comfunc global IModelObject_GetParentModel           19 int64,sptr,sptr
#comfunc global IModelObject_AddParentModel           20 sptr,sptr,int
#comfunc global IModelObject_RemoveParentModel        21 sptr
#comfunc global IModelObject_GetKey                   22 wstr,sptr,sptr
#comfunc global IModelObject_GetKeyReference          23 wstr,sptr,sptr
#comfunc global IModelObject_SetKey                   24 wstr,sptr,sptr
#comfunc global IModelObject_ClearKeys                25
#comfunc global IModelObject_EnumerateKeys            26 sptr
#comfunc global IModelObject_EnumerateKeyReferences   27 sptr
#comfunc global IModelObject_SetConcept               28 var,sptr,sptr
#comfunc global IModelObject_ClearConcepts            29
#comfunc global IModelObject_GetRawReference          30 int,wstr,int,sptr
#comfunc global IModelObject_EnumerateRawReferences   31 int,int,sptr
#comfunc global IModelObject_SetContextForDataModel   32 sptr,sptr
#comfunc global IModelObject_GetContextForDataModel   33 sptr,sptr
#comfunc global IModelObject_Compare                  34 sptr,sptr
#comfunc global IModelObject_IsEqualTo                35 sptr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。