Win32 API 日本語リファレンス
ホームSystem.ClrHosting › ITypeNameBuilder

ITypeNameBuilder

COM
IIDb81ff171-20f3-11d2-8dcc-00a0c9b00523継承元IUnknown自前メソッド開始 vtbl3

メソッド 12

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

vtbl 3 HRESULT OpenGenericArguments()
vtbl 4 HRESULT CloseGenericArguments()
vtbl 5 HRESULT OpenGenericArgument()
vtbl 6 HRESULT CloseGenericArgument()
vtbl 7 HRESULT AddName(LPWSTR szName)
szNameLPWSTRin構築中の型名に追加する名前を表す、NULL 終端のワイド文字列へのポインタである。
vtbl 8 HRESULT AddPointer()
vtbl 9 HRESULT AddByRef()
vtbl 10 HRESULT AddSzArray()
vtbl 11 HRESULT AddArray(DWORD rank)
rankDWORDin追加する配列修飾子の次元数(ランク)を指定する。
vtbl 12 HRESULT AddAssemblySpec(LPWSTR szAssemblySpec)
szAssemblySpecLPWSTRin型に関連付けるアセンブリ指定子を表す、NULL 終端のワイド文字列へのポインタである。
vtbl 13 HRESULT ToString(LPWSTR* pszStringRepresentation)
pszStringRepresentationLPWSTR*out構築された型名の文字列表現を受け取るワイド文字列へのポインタである。
vtbl 14 HRESULT Clear()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ITypeNameBuilder "{B81FF171-20F3-11D2-8DCC-00A0C9B00523}"
#usecom global ITypeNameBuilder IID_ITypeNameBuilder "{}"
#comfunc global ITypeNameBuilder_OpenGenericArguments   3
#comfunc global ITypeNameBuilder_CloseGenericArguments  4
#comfunc global ITypeNameBuilder_OpenGenericArgument    5
#comfunc global ITypeNameBuilder_CloseGenericArgument   6
#comfunc global ITypeNameBuilder_AddName                7 wstr
#comfunc global ITypeNameBuilder_AddPointer             8
#comfunc global ITypeNameBuilder_AddByRef               9
#comfunc global ITypeNameBuilder_AddSzArray             10
#comfunc global ITypeNameBuilder_AddArray               11 int
#comfunc global ITypeNameBuilder_AddAssemblySpec        12 wstr
#comfunc global ITypeNameBuilder_ToString               13 var
#comfunc global ITypeNameBuilder_Clear                  14
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。