ホーム › System.Diagnostics.Debug.Extensions › IDataModelManager2
IDataModelManager2
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 23 HRESULT AcquireSubNamespace(LPWSTR modelName, LPWSTR subNamespaceModelName, LPWSTR accessName, IKeyStore* metadata, IModelObject** namespaceModelObject)
| modelName | LPWSTR | in | 対象とするモデルの名前を指定する。 |
| subNamespaceModelName | LPWSTR | in | 取得するサブ名前空間モデルの名前を指定する。 |
| accessName | LPWSTR | in | サブ名前空間へアクセスするためのプロパティ名を指定する。 |
| metadata | IKeyStore* | inoptional | サブ名前空間に関連付けるメタデータストアを指定する。不要なら NULL を指定できる。 |
| namespaceModelObject | IModelObject** | out | 取得したサブ名前空間モデルオブジェクトを受け取るポインタである。 |
vtbl 24 HRESULT CreateTypedIntrinsicObjectEx(IDebugHostContext* context, VARIANT* intrinsicData, IDebugHostType* type, IModelObject** object)
| context | IDebugHostContext* | inoptional | オブジェクトを関連付けるホストコンテキストを指定する。 |
| intrinsicData | VARIANT* | in | オブジェクトに格納する組み込み値を表す VARIANT へのポインタである。 |
| type | IDebugHostType* | in | オブジェクトに割り当てるネイティブ型を表す IDebugHostType を指定する。 |
| object | IModelObject** | out | 作成された型付き組み込みオブジェクトを受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDataModelManager2 "{F412C5EA-2284-4622-A660-A697160D3312}" #usecom global IDataModelManager2 IID_IDataModelManager2 "{}" #comfunc global IDataModelManager2_AcquireSubNamespace 23 wstr,wstr,wstr,sptr,sptr #comfunc global IDataModelManager2_CreateTypedIntrinsicObjectEx 24 sptr,var,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDataModelManager2 "{F412C5EA-2284-4622-A660-A697160D3312}" #usecom global IDataModelManager2 IID_IDataModelManager2 "{}" #comfunc global IDataModelManager2_AcquireSubNamespace 23 wstr,wstr,wstr,sptr,sptr #comfunc global IDataModelManager2_CreateTypedIntrinsicObjectEx 24 sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。