ホーム › System.Diagnostics.Debug.Extensions › IDebugHostType
IDebugHostType
COMメソッド 19
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| kind | TypeKind* | out | この型の種類(ポインタ、配列、組み込み型など)を受け取る TypeKind へのポインタである。[out] 引数である。 |
| size | ULONGLONG* | out | 型のサイズをバイト数で受け取る ULONGLONG へのポインタである。[out] 引数である。 |
vtbl 12 HRESULT GetBaseType(IDebugHostType** baseType)
| baseType | IDebugHostType** | out | この型の基底型(ポインタ先や配列要素などの参照先型)を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。 |
| hashCode | DWORD* | out | 型を識別するためのハッシュ値を受け取る DWORD へのポインタである。[out] 引数である。 |
vtbl 14 HRESULT GetIntrinsicType(IntrinsicKind* intrinsicKind, WORD* carrierType)
| intrinsicKind | IntrinsicKind* | outoptional | 組み込み型の種類を受け取る IntrinsicKind へのポインタである。[out] 引数である。 |
| carrierType | WORD* | outoptional | 値を保持するキャリア型(VARTYPE 相当)を受け取る WORD へのポインタである。[out] 引数である。 |
| lsbOfField | DWORD* | out | ビットフィールドの最下位ビット位置を受け取る DWORD へのポインタである。[out] 引数である。 |
| lengthOfField | DWORD* | out | ビットフィールドのビット長を受け取る DWORD へのポインタである。[out] 引数である。 |
vtbl 16 HRESULT GetPointerKind(PointerKind* pointerKind)
| pointerKind | PointerKind* | out | ポインタの種類(標準、参照、右辺値参照など)を受け取る PointerKind へのポインタである。[out] 引数である。 |
vtbl 17 HRESULT GetMemberType(IDebugHostType** memberType)
| memberType | IDebugHostType** | out | ポインタ・ツー・メンバーが指すメンバーの型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。 |
vtbl 18 HRESULT CreatePointerTo(PointerKind kind, IDebugHostType** newType)
| kind | PointerKind | in | 生成するポインタの種類を示す PointerKind を指定する。 |
| newType | IDebugHostType** | out | この型を指すポインタ型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。 |
| arrayDimensionality | ULONGLONG* | out | 配列型の次元数を受け取る ULONGLONG へのポインタである。[out] 引数である。 |
vtbl 20 HRESULT GetArrayDimensions(ULONGLONG dimensions, ArrayDimension* pDimensions)
| dimensions | ULONGLONG | in | pDimensions 配列に受け取る次元数(配列の次元数)を指定する。 |
| pDimensions | ArrayDimension* | out | 各次元の情報を受け取る ArrayDimension の配列を指すポインタである。要素数は dimensions で指定する。[out] 引数である。 |
vtbl 21 HRESULT CreateArrayOf(ULONGLONG dimensions, ArrayDimension* pDimensions, IDebugHostType** newType)
| dimensions | ULONGLONG | in | 生成する配列の次元数を指定し、pDimensions 配列の要素数となる。 |
| pDimensions | ArrayDimension* | in | 生成する配列の各次元を表す ArrayDimension の配列を指すポインタである。 |
| newType | IDebugHostType** | out | この型を要素とする配列型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。 |
vtbl 22 HRESULT GetFunctionCallingConvention(CallingConventionKind* conventionKind)
| conventionKind | CallingConventionKind* | out | 関数型の呼び出し規約を受け取る CallingConventionKind へのポインタである。[out] 引数である。 |
vtbl 23 HRESULT GetFunctionReturnType(IDebugHostType** returnType)
| returnType | IDebugHostType** | out | 関数型の戻り値の型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。 |
| count | ULONGLONG* | out | 関数型のパラメータの個数を受け取る ULONGLONG へのポインタである。[out] 引数である。 |
vtbl 25 HRESULT GetFunctionParameterTypeAt(ULONGLONG i, IDebugHostType** parameterType)
| i | ULONGLONG | in | 取得するパラメータの 0 起点のインデックスを指定する。 |
| parameterType | IDebugHostType** | out | 指定インデックスのパラメータの型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。 |
| isGeneric | BOOLEAN* | out | 型がジェネリック(テンプレート)であるかどうかの真偽値を受け取る BOOLEAN へのポインタである。[out] 引数である。 |
| argCount | ULONGLONG* | out | ジェネリック型の型引数の個数を受け取る ULONGLONG へのポインタである。[out] 引数である。 |
vtbl 28 HRESULT GetGenericArgumentAt(ULONGLONG i, IDebugHostSymbol** argument)
| i | ULONGLONG | in | 取得するジェネリック型引数の 0 起点のインデックスを指定する。 |
| argument | IDebugHostSymbol** | out | 指定インデックスのジェネリック型引数を受け取る IDebugHostSymbol ポインタへのポインタである。[out] 引数である。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDebugHostType "{3AADC353-2B14-4ABB-9893-5E03458E07EE}" #usecom global IDebugHostType IID_IDebugHostType "{}" #comfunc global IDebugHostType_GetTypeKind 10 var #comfunc global IDebugHostType_GetSize 11 var #comfunc global IDebugHostType_GetBaseType 12 sptr #comfunc global IDebugHostType_GetHashCode 13 var #comfunc global IDebugHostType_GetIntrinsicType 14 var,var #comfunc global IDebugHostType_GetBitField 15 var,var #comfunc global IDebugHostType_GetPointerKind 16 var #comfunc global IDebugHostType_GetMemberType 17 sptr #comfunc global IDebugHostType_CreatePointerTo 18 int,sptr #comfunc global IDebugHostType_GetArrayDimensionality 19 var #comfunc global IDebugHostType_GetArrayDimensions 20 int64,var #comfunc global IDebugHostType_CreateArrayOf 21 int64,var,sptr #comfunc global IDebugHostType_GetFunctionCallingConvention 22 var #comfunc global IDebugHostType_GetFunctionReturnType 23 sptr #comfunc global IDebugHostType_GetFunctionParameterTypeCount 24 var #comfunc global IDebugHostType_GetFunctionParameterTypeAt 25 int64,sptr #comfunc global IDebugHostType_IsGeneric 26 var #comfunc global IDebugHostType_GetGenericArgumentCount 27 var #comfunc global IDebugHostType_GetGenericArgumentAt 28 int64,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDebugHostType "{3AADC353-2B14-4ABB-9893-5E03458E07EE}" #usecom global IDebugHostType IID_IDebugHostType "{}" #comfunc global IDebugHostType_GetTypeKind 10 sptr #comfunc global IDebugHostType_GetSize 11 sptr #comfunc global IDebugHostType_GetBaseType 12 sptr #comfunc global IDebugHostType_GetHashCode 13 sptr #comfunc global IDebugHostType_GetIntrinsicType 14 sptr,sptr #comfunc global IDebugHostType_GetBitField 15 sptr,sptr #comfunc global IDebugHostType_GetPointerKind 16 sptr #comfunc global IDebugHostType_GetMemberType 17 sptr #comfunc global IDebugHostType_CreatePointerTo 18 int,sptr #comfunc global IDebugHostType_GetArrayDimensionality 19 sptr #comfunc global IDebugHostType_GetArrayDimensions 20 int64,sptr #comfunc global IDebugHostType_CreateArrayOf 21 int64,sptr,sptr #comfunc global IDebugHostType_GetFunctionCallingConvention 22 sptr #comfunc global IDebugHostType_GetFunctionReturnType 23 sptr #comfunc global IDebugHostType_GetFunctionParameterTypeCount 24 sptr #comfunc global IDebugHostType_GetFunctionParameterTypeAt 25 int64,sptr #comfunc global IDebugHostType_IsGeneric 26 sptr #comfunc global IDebugHostType_GetGenericArgumentCount 27 sptr #comfunc global IDebugHostType_GetGenericArgumentAt 28 int64,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。