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

IDataModelManager

COM
IID73fe19f4-a110-4500-8ed9-3c28896f508c継承元IUnknown自前メソッド開始 vtbl3

メソッド 20

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

vtbl 3 HRESULT Close()
vtbl 4 HRESULT CreateNoValue(IModelObject** object)
objectIModelObject**out値を持たないこと(No Value)を表す新しいオブジェクトを受け取るポインタである。
vtbl 5 HRESULT CreateErrorObject(HRESULT hrError, LPWSTR pwszMessage, IModelObject** object)
hrErrorHRESULTin表すエラーの HRESULT を指定する。
pwszMessageLPWSTRinoptionalエラーメッセージの文字列を指定する。
objectIModelObject**out作成されたエラーオブジェクトを受け取るポインタである。
vtbl 6 HRESULT CreateTypedObject(IDebugHostContext* context, Location objectLocation, IDebugHostType* objectType, IModelObject** object)
contextIDebugHostContext*inoptionalオブジェクトを評価するホストコンテキストを指定する。
objectLocationLocationinオブジェクトのネイティブな位置を表す Location を指定する。
objectTypeIDebugHostType*inオブジェクトのネイティブ型を表す IDebugHostType を指定する。
objectIModelObject**out作成された型付きオブジェクトを受け取るポインタである。
vtbl 7 HRESULT CreateTypedObjectReference(IDebugHostContext* context, Location objectLocation, IDebugHostType* objectType, IModelObject** object)
contextIDebugHostContext*inoptionalオブジェクトを評価するホストコンテキストを指定する。
objectLocationLocationinオブジェクトのネイティブな位置を表す Location を指定する。
objectTypeIDebugHostType*inオブジェクトのネイティブ型を表す IDebugHostType を指定する。
objectIModelObject**out作成された型付きオブジェクトへの参照を受け取るポインタである。
vtbl 8 HRESULT CreateSyntheticObject(IDebugHostContext* context, IModelObject** object)
contextIDebugHostContext*inoptionalオブジェクトを関連付けるホストコンテキストを指定する。
objectIModelObject**out作成された合成オブジェクトを受け取るポインタである。
vtbl 9 HRESULT CreateDataModelObject(IDataModelConcept* dataModel, IModelObject** object)
dataModelIDataModelConcept*inオブジェクトに関連付けるデータモデルコンセプトを指定する。
objectIModelObject**out作成されたデータモデルオブジェクトを受け取るポインタである。
vtbl 10 HRESULT CreateIntrinsicObject(ModelObjectKind objectKind, VARIANT* intrinsicData, IModelObject** object)
objectKindModelObjectKindin作成するオブジェクトの種類(ModelObjectKind)を指定する。
intrinsicDataVARIANT*inオブジェクトに格納する組み込み値を表す VARIANT へのポインタである。
objectIModelObject**out作成された組み込みオブジェクトを受け取るポインタである。
vtbl 11 HRESULT CreateTypedIntrinsicObject(VARIANT* intrinsicData, IDebugHostType* type, IModelObject** object)
intrinsicDataVARIANT*inオブジェクトに格納する組み込み値を表す VARIANT へのポインタである。
typeIDebugHostType*inオブジェクトに割り当てるネイティブ型を表す IDebugHostType を指定する。
objectIModelObject**out作成された型付き組み込みオブジェクトを受け取るポインタである。
vtbl 12 HRESULT GetModelForTypeSignature(IDebugHostTypeSignature* typeSignature, IModelObject** dataModel)
typeSignatureIDebugHostTypeSignature*in対象の型シグネチャを指定する。
dataModelIModelObject**outその型シグネチャに登録されたデータモデルを受け取るポインタである。
vtbl 13 HRESULT GetModelForType(IDebugHostType* type, IModelObject** dataModel, IDebugHostTypeSignature** typeSignature, IDebugHostSymbolEnumerator** wildcardMatches)
typeIDebugHostType*in対象のネイティブ型を表す IDebugHostType を指定する。
dataModelIModelObject**outその型に登録されたデータモデルを受け取るポインタである。
typeSignatureIDebugHostTypeSignature**outoptional一致した型シグネチャを受け取るポインタである。
wildcardMatchesIDebugHostSymbolEnumerator**outoptionalワイルドカードにより一致したシンボルの列挙子を受け取るポインタである。
vtbl 14 HRESULT RegisterModelForTypeSignature(IDebugHostTypeSignature* typeSignature, IModelObject* dataModel)
typeSignatureIDebugHostTypeSignature*in対象の型シグネチャを指定する。
dataModelIModelObject*in型シグネチャに登録するデータモデルを指定する。
vtbl 15 HRESULT UnregisterModelForTypeSignature(IModelObject* dataModel, IDebugHostTypeSignature* typeSignature)
dataModelIModelObject*in登録解除するデータモデルを指定する。
typeSignatureIDebugHostTypeSignature*inoptional登録解除する型シグネチャを指定する。
vtbl 16 HRESULT RegisterExtensionForTypeSignature(IDebugHostTypeSignature* typeSignature, IModelObject* dataModel)
typeSignatureIDebugHostTypeSignature*in対象の型シグネチャを指定する。
dataModelIModelObject*in型シグネチャに拡張として登録するデータモデルを指定する。
vtbl 17 HRESULT UnregisterExtensionForTypeSignature(IModelObject* dataModel, IDebugHostTypeSignature* typeSignature)
dataModelIModelObject*in登録解除する拡張データモデルを指定する。
typeSignatureIDebugHostTypeSignature*inoptional登録解除する型シグネチャを指定する。
vtbl 18 HRESULT CreateMetadataStore(IKeyStore* parentStore, IKeyStore** metadataStore)
parentStoreIKeyStore*inoptional親となるメタデータストアを指定する。なければ NULL を指定する。
metadataStoreIKeyStore**out作成されたメタデータストアを受け取るポインタである。
vtbl 19 HRESULT GetRootNamespace(IModelObject** rootNamespace)
rootNamespaceIModelObject**outデータモデルのルート名前空間オブジェクトを受け取るポインタである。
vtbl 20 HRESULT RegisterNamedModel(LPWSTR modelName, IModelObject* modeObject)
modelNameLPWSTRin登録する名前付きモデルの名前を指定する。
modeObjectIModelObject*in名前に関連付けるモデルオブジェクトを指定する。
vtbl 21 HRESULT UnregisterNamedModel(LPWSTR modelName)
modelNameLPWSTRin登録解除する名前付きモデルの名前を指定する。
vtbl 22 HRESULT AcquireNamedModel(LPWSTR modelName, IModelObject** modelObject)
modelNameLPWSTRin取得する名前付きモデルの名前を指定する。
modelObjectIModelObject**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 指定が可能。