ホーム › System.Diagnostics.Debug.Extensions › IDataModelManager
IDataModelManager
COMメソッド 20
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT Close()
vtbl 4 HRESULT CreateNoValue(IModelObject** object)
| object | IModelObject** | out | 値を持たないこと(No Value)を表す新しいオブジェクトを受け取るポインタである。 |
vtbl 5 HRESULT CreateErrorObject(HRESULT hrError, LPWSTR pwszMessage, IModelObject** object)
| hrError | HRESULT | in | 表すエラーの HRESULT を指定する。 |
| pwszMessage | LPWSTR | inoptional | エラーメッセージの文字列を指定する。 |
| object | IModelObject** | out | 作成されたエラーオブジェクトを受け取るポインタである。 |
vtbl 6 HRESULT CreateTypedObject(IDebugHostContext* context, Location objectLocation, IDebugHostType* objectType, IModelObject** object)
| context | IDebugHostContext* | inoptional | オブジェクトを評価するホストコンテキストを指定する。 |
| objectLocation | Location | in | オブジェクトのネイティブな位置を表す Location を指定する。 |
| objectType | IDebugHostType* | in | オブジェクトのネイティブ型を表す IDebugHostType を指定する。 |
| object | IModelObject** | out | 作成された型付きオブジェクトを受け取るポインタである。 |
vtbl 7 HRESULT CreateTypedObjectReference(IDebugHostContext* context, Location objectLocation, IDebugHostType* objectType, IModelObject** object)
| context | IDebugHostContext* | inoptional | オブジェクトを評価するホストコンテキストを指定する。 |
| objectLocation | Location | in | オブジェクトのネイティブな位置を表す Location を指定する。 |
| objectType | IDebugHostType* | in | オブジェクトのネイティブ型を表す IDebugHostType を指定する。 |
| object | IModelObject** | out | 作成された型付きオブジェクトへの参照を受け取るポインタである。 |
vtbl 8 HRESULT CreateSyntheticObject(IDebugHostContext* context, IModelObject** object)
| context | IDebugHostContext* | inoptional | オブジェクトを関連付けるホストコンテキストを指定する。 |
| object | IModelObject** | out | 作成された合成オブジェクトを受け取るポインタである。 |
vtbl 9 HRESULT CreateDataModelObject(IDataModelConcept* dataModel, IModelObject** object)
| dataModel | IDataModelConcept* | in | オブジェクトに関連付けるデータモデルコンセプトを指定する。 |
| object | IModelObject** | out | 作成されたデータモデルオブジェクトを受け取るポインタである。 |
vtbl 10 HRESULT CreateIntrinsicObject(ModelObjectKind objectKind, VARIANT* intrinsicData, IModelObject** object)
| objectKind | ModelObjectKind | in | 作成するオブジェクトの種類(ModelObjectKind)を指定する。 |
| intrinsicData | VARIANT* | in | オブジェクトに格納する組み込み値を表す VARIANT へのポインタである。 |
| object | IModelObject** | out | 作成された組み込みオブジェクトを受け取るポインタである。 |
vtbl 11 HRESULT CreateTypedIntrinsicObject(VARIANT* intrinsicData, IDebugHostType* type, IModelObject** object)
| intrinsicData | VARIANT* | in | オブジェクトに格納する組み込み値を表す VARIANT へのポインタである。 |
| type | IDebugHostType* | in | オブジェクトに割り当てるネイティブ型を表す IDebugHostType を指定する。 |
| object | IModelObject** | out | 作成された型付き組み込みオブジェクトを受け取るポインタである。 |
vtbl 12 HRESULT GetModelForTypeSignature(IDebugHostTypeSignature* typeSignature, IModelObject** dataModel)
| typeSignature | IDebugHostTypeSignature* | in | 対象の型シグネチャを指定する。 |
| dataModel | IModelObject** | out | その型シグネチャに登録されたデータモデルを受け取るポインタである。 |
vtbl 13 HRESULT GetModelForType(IDebugHostType* type, IModelObject** dataModel, IDebugHostTypeSignature** typeSignature, IDebugHostSymbolEnumerator** wildcardMatches)
| type | IDebugHostType* | in | 対象のネイティブ型を表す IDebugHostType を指定する。 |
| dataModel | IModelObject** | out | その型に登録されたデータモデルを受け取るポインタである。 |
| typeSignature | IDebugHostTypeSignature** | outoptional | 一致した型シグネチャを受け取るポインタである。 |
| wildcardMatches | IDebugHostSymbolEnumerator** | outoptional | ワイルドカードにより一致したシンボルの列挙子を受け取るポインタである。 |
vtbl 14 HRESULT RegisterModelForTypeSignature(IDebugHostTypeSignature* typeSignature, IModelObject* dataModel)
| typeSignature | IDebugHostTypeSignature* | in | 対象の型シグネチャを指定する。 |
| dataModel | IModelObject* | in | 型シグネチャに登録するデータモデルを指定する。 |
vtbl 15 HRESULT UnregisterModelForTypeSignature(IModelObject* dataModel, IDebugHostTypeSignature* typeSignature)
| dataModel | IModelObject* | in | 登録解除するデータモデルを指定する。 |
| typeSignature | IDebugHostTypeSignature* | inoptional | 登録解除する型シグネチャを指定する。 |
vtbl 16 HRESULT RegisterExtensionForTypeSignature(IDebugHostTypeSignature* typeSignature, IModelObject* dataModel)
| typeSignature | IDebugHostTypeSignature* | in | 対象の型シグネチャを指定する。 |
| dataModel | IModelObject* | in | 型シグネチャに拡張として登録するデータモデルを指定する。 |
vtbl 17 HRESULT UnregisterExtensionForTypeSignature(IModelObject* dataModel, IDebugHostTypeSignature* typeSignature)
| dataModel | IModelObject* | in | 登録解除する拡張データモデルを指定する。 |
| typeSignature | IDebugHostTypeSignature* | inoptional | 登録解除する型シグネチャを指定する。 |
| parentStore | IKeyStore* | inoptional | 親となるメタデータストアを指定する。なければ NULL を指定する。 |
| metadataStore | IKeyStore** | out | 作成されたメタデータストアを受け取るポインタである。 |
vtbl 19 HRESULT GetRootNamespace(IModelObject** rootNamespace)
| rootNamespace | IModelObject** | out | データモデルのルート名前空間オブジェクトを受け取るポインタである。 |
vtbl 20 HRESULT RegisterNamedModel(LPWSTR modelName, IModelObject* modeObject)
| modelName | LPWSTR | in | 登録する名前付きモデルの名前を指定する。 |
| modeObject | IModelObject* | in | 名前に関連付けるモデルオブジェクトを指定する。 |
| modelName | LPWSTR | in | 登録解除する名前付きモデルの名前を指定する。 |
vtbl 22 HRESULT AcquireNamedModel(LPWSTR modelName, IModelObject** modelObject)
| modelName | LPWSTR | in | 取得する名前付きモデルの名前を指定する。 |
| modelObject | IModelObject** | out | 取得した名前付きモデルオブジェクトを受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDataModelManager "{73FE19F4-A110-4500-8ED9-3C28896F508C}" #usecom global IDataModelManager IID_IDataModelManager "{}" #comfunc global IDataModelManager_Close 3 #comfunc global IDataModelManager_CreateNoValue 4 sptr #comfunc global IDataModelManager_CreateErrorObject 5 int,wstr,sptr #comfunc global IDataModelManager_CreateTypedObject 6 sptr,int,sptr,sptr #comfunc global IDataModelManager_CreateTypedObjectReference 7 sptr,int,sptr,sptr #comfunc global IDataModelManager_CreateSyntheticObject 8 sptr,sptr #comfunc global IDataModelManager_CreateDataModelObject 9 sptr,sptr #comfunc global IDataModelManager_CreateIntrinsicObject 10 int,var,sptr #comfunc global IDataModelManager_CreateTypedIntrinsicObject 11 var,sptr,sptr #comfunc global IDataModelManager_GetModelForTypeSignature 12 sptr,sptr #comfunc global IDataModelManager_GetModelForType 13 sptr,sptr,sptr,sptr #comfunc global IDataModelManager_RegisterModelForTypeSignature 14 sptr,sptr #comfunc global IDataModelManager_UnregisterModelForTypeSignature 15 sptr,sptr #comfunc global IDataModelManager_RegisterExtensionForTypeSignature 16 sptr,sptr #comfunc global IDataModelManager_UnregisterExtensionForTypeSignature 17 sptr,sptr #comfunc global IDataModelManager_CreateMetadataStore 18 sptr,sptr #comfunc global IDataModelManager_GetRootNamespace 19 sptr #comfunc global IDataModelManager_RegisterNamedModel 20 wstr,sptr #comfunc global IDataModelManager_UnregisterNamedModel 21 wstr #comfunc global IDataModelManager_AcquireNamedModel 22 wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDataModelManager "{73FE19F4-A110-4500-8ED9-3C28896F508C}" #usecom global IDataModelManager IID_IDataModelManager "{}" #comfunc global IDataModelManager_Close 3 #comfunc global IDataModelManager_CreateNoValue 4 sptr #comfunc global IDataModelManager_CreateErrorObject 5 int,wstr,sptr #comfunc global IDataModelManager_CreateTypedObject 6 sptr,int,sptr,sptr #comfunc global IDataModelManager_CreateTypedObjectReference 7 sptr,int,sptr,sptr #comfunc global IDataModelManager_CreateSyntheticObject 8 sptr,sptr #comfunc global IDataModelManager_CreateDataModelObject 9 sptr,sptr #comfunc global IDataModelManager_CreateIntrinsicObject 10 int,sptr,sptr #comfunc global IDataModelManager_CreateTypedIntrinsicObject 11 sptr,sptr,sptr #comfunc global IDataModelManager_GetModelForTypeSignature 12 sptr,sptr #comfunc global IDataModelManager_GetModelForType 13 sptr,sptr,sptr,sptr #comfunc global IDataModelManager_RegisterModelForTypeSignature 14 sptr,sptr #comfunc global IDataModelManager_UnregisterModelForTypeSignature 15 sptr,sptr #comfunc global IDataModelManager_RegisterExtensionForTypeSignature 16 sptr,sptr #comfunc global IDataModelManager_UnregisterExtensionForTypeSignature 17 sptr,sptr #comfunc global IDataModelManager_CreateMetadataStore 18 sptr,sptr #comfunc global IDataModelManager_GetRootNamespace 19 sptr #comfunc global IDataModelManager_RegisterNamedModel 20 wstr,sptr #comfunc global IDataModelManager_UnregisterNamedModel 21 wstr #comfunc global IDataModelManager_AcquireNamedModel 22 wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。