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

IDebugHostType

COM
IID3aadc353-2b14-4abb-9893-5e03458e07ee継承元IDebugHostSymbol自前メソッド開始 vtbl10

メソッド 19

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

vtbl 10 HRESULT GetTypeKind(TypeKind* kind)
kindTypeKind*outこの型の種類(ポインタ、配列、組み込み型など)を受け取る TypeKind へのポインタである。[out] 引数である。
vtbl 11 HRESULT GetSize(ULONGLONG* size)
sizeULONGLONG*out型のサイズをバイト数で受け取る ULONGLONG へのポインタである。[out] 引数である。
vtbl 12 HRESULT GetBaseType(IDebugHostType** baseType)
baseTypeIDebugHostType**outこの型の基底型(ポインタ先や配列要素などの参照先型)を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。
vtbl 13 HRESULT GetHashCode(DWORD* hashCode)
hashCodeDWORD*out型を識別するためのハッシュ値を受け取る DWORD へのポインタである。[out] 引数である。
vtbl 14 HRESULT GetIntrinsicType(IntrinsicKind* intrinsicKind, WORD* carrierType)
intrinsicKindIntrinsicKind*outoptional組み込み型の種類を受け取る IntrinsicKind へのポインタである。[out] 引数である。
carrierTypeWORD*outoptional値を保持するキャリア型(VARTYPE 相当)を受け取る WORD へのポインタである。[out] 引数である。
vtbl 15 HRESULT GetBitField(DWORD* lsbOfField, DWORD* lengthOfField)
lsbOfFieldDWORD*outビットフィールドの最下位ビット位置を受け取る DWORD へのポインタである。[out] 引数である。
lengthOfFieldDWORD*outビットフィールドのビット長を受け取る DWORD へのポインタである。[out] 引数である。
vtbl 16 HRESULT GetPointerKind(PointerKind* pointerKind)
pointerKindPointerKind*outポインタの種類(標準、参照、右辺値参照など)を受け取る PointerKind へのポインタである。[out] 引数である。
vtbl 17 HRESULT GetMemberType(IDebugHostType** memberType)
memberTypeIDebugHostType**outポインタ・ツー・メンバーが指すメンバーの型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。
vtbl 18 HRESULT CreatePointerTo(PointerKind kind, IDebugHostType** newType)
kindPointerKindin生成するポインタの種類を示す PointerKind を指定する。
newTypeIDebugHostType**outこの型を指すポインタ型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。
vtbl 19 HRESULT GetArrayDimensionality(ULONGLONG* arrayDimensionality)
arrayDimensionalityULONGLONG*out配列型の次元数を受け取る ULONGLONG へのポインタである。[out] 引数である。
vtbl 20 HRESULT GetArrayDimensions(ULONGLONG dimensions, ArrayDimension* pDimensions)
dimensionsULONGLONGinpDimensions 配列に受け取る次元数(配列の次元数)を指定する。
pDimensionsArrayDimension*out各次元の情報を受け取る ArrayDimension の配列を指すポインタである。要素数は dimensions で指定する。[out] 引数である。
vtbl 21 HRESULT CreateArrayOf(ULONGLONG dimensions, ArrayDimension* pDimensions, IDebugHostType** newType)
dimensionsULONGLONGin生成する配列の次元数を指定し、pDimensions 配列の要素数となる。
pDimensionsArrayDimension*in生成する配列の各次元を表す ArrayDimension の配列を指すポインタである。
newTypeIDebugHostType**outこの型を要素とする配列型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。
vtbl 22 HRESULT GetFunctionCallingConvention(CallingConventionKind* conventionKind)
conventionKindCallingConventionKind*out関数型の呼び出し規約を受け取る CallingConventionKind へのポインタである。[out] 引数である。
vtbl 23 HRESULT GetFunctionReturnType(IDebugHostType** returnType)
returnTypeIDebugHostType**out関数型の戻り値の型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。
vtbl 24 HRESULT GetFunctionParameterTypeCount(ULONGLONG* count)
countULONGLONG*out関数型のパラメータの個数を受け取る ULONGLONG へのポインタである。[out] 引数である。
vtbl 25 HRESULT GetFunctionParameterTypeAt(ULONGLONG i, IDebugHostType** parameterType)
iULONGLONGin取得するパラメータの 0 起点のインデックスを指定する。
parameterTypeIDebugHostType**out指定インデックスのパラメータの型を受け取る IDebugHostType ポインタへのポインタである。[out] 引数である。
vtbl 26 HRESULT IsGeneric(BOOLEAN* isGeneric)
isGenericBOOLEAN*out型がジェネリック(テンプレート)であるかどうかの真偽値を受け取る BOOLEAN へのポインタである。[out] 引数である。
vtbl 27 HRESULT GetGenericArgumentCount(ULONGLONG* argCount)
argCountULONGLONG*outジェネリック型の型引数の個数を受け取る ULONGLONG へのポインタである。[out] 引数である。
vtbl 28 HRESULT GetGenericArgumentAt(ULONGLONG i, IDebugHostSymbol** argument)
iULONGLONGin取得するジェネリック型引数の 0 起点のインデックスを指定する。
argumentIDebugHostSymbol**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 指定が可能。