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

IDataModelManager2

COM
IIDf412c5ea-2284-4622-a660-a697160d3312継承元IDataModelManager自前メソッド開始 vtbl23

メソッド 2

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

vtbl 23 HRESULT AcquireSubNamespace(LPWSTR modelName, LPWSTR subNamespaceModelName, LPWSTR accessName, IKeyStore* metadata, IModelObject** namespaceModelObject)
modelNameLPWSTRin対象とするモデルの名前を指定する。
subNamespaceModelNameLPWSTRin取得するサブ名前空間モデルの名前を指定する。
accessNameLPWSTRinサブ名前空間へアクセスするためのプロパティ名を指定する。
metadataIKeyStore*inoptionalサブ名前空間に関連付けるメタデータストアを指定する。不要なら NULL を指定できる。
namespaceModelObjectIModelObject**out取得したサブ名前空間モデルオブジェクトを受け取るポインタである。
vtbl 24 HRESULT CreateTypedIntrinsicObjectEx(IDebugHostContext* context, VARIANT* intrinsicData, IDebugHostType* type, IModelObject** object)
contextIDebugHostContext*inoptionalオブジェクトを関連付けるホストコンテキストを指定する。
intrinsicDataVARIANT*inオブジェクトに格納する組み込み値を表す VARIANT へのポインタである。
typeIDebugHostType*inオブジェクトに割り当てるネイティブ型を表す IDebugHostType を指定する。
objectIModelObject**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 指定が可能。