Win32 API 日本語リファレンス
ホームSystem.WinRT.Metadata › IMetaDataImport2

IMetaDataImport2

COM
IIDfce5efa0-8bba-4f8e-a036-8f2022b08466継承元IMetaDataImport自前メソッド開始 vtbl65

メソッド 8

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

vtbl 65 HRESULT EnumGenericParams(void** phEnum, DWORD tk, DWORD* rGenericParams, DWORD cMax, DWORD* pcGenericParams)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
tkDWORDinジェネリックパラメーターを列挙する対象の型またはメソッドのトークンを指定する。
rGenericParamsDWORD*inout取得した GenericParam トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcGenericParamsDWORD*inout実際に取得したジェネリックパラメーターの数を受け取る。
vtbl 66 HRESULT GetGenericParamProps(DWORD gp, DWORD* pulParamSeq, DWORD* pdwParamFlags, DWORD* ptOwner, DWORD* reserved, LPWSTR wzname, DWORD cchName, DWORD* pchName)
gpDWORDin情報を取得する対象のジェネリックパラメーター (GenericParam) のトークンを指定する。
pulParamSeqDWORD*inoutジェネリックパラメーターの順序位置を受け取る。
pdwParamFlagsDWORD*inoutジェネリックパラメーターの分散や制約を示すフラグを受け取る。
ptOwnerDWORD*inoutジェネリックパラメーターを所有する型またはメソッドのトークンを受け取る。
reservedDWORD*inout予約済み出力パラメーターである。
wznameLPWSTRoutoptionalジェネリックパラメーター名を受け取るバッファへのポインタである。
cchNameDWORDin名前用バッファの最大文字数を指定する。
pchNameDWORD*inout実際に書き込まれた名前の文字数を受け取る。
vtbl 67 HRESULT GetMethodSpecProps(DWORD mi, DWORD* tkParent, BYTE** ppvSigBlob, DWORD* pcbSigBlob)
miDWORDin情報を取得する対象の MethodSpec トークンを指定する。
tkParentDWORD*inoutインスタンス化されたジェネリックメソッドのトークンを受け取る。
ppvSigBlobBYTE**inoutメソッドの型引数を示すシグネチャ blob へのポインタを受け取る。
pcbSigBlobDWORD*inoutシグネチャ blob のサイズをバイト数で受け取る。
vtbl 68 HRESULT EnumGenericParamConstraints(void** phEnum, DWORD tk, DWORD* rGenericParamConstraints, DWORD cMax, DWORD* pcGenericParamConstraints)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
tkDWORDin制約を列挙する対象のジェネリックパラメーター (GenericParam) のトークンを指定する。
rGenericParamConstraintsDWORD*inout取得した GenericParamConstraint トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcGenericParamConstraintsDWORD*inout実際に取得した制約の数を受け取る。
vtbl 69 HRESULT GetGenericParamConstraintProps(DWORD gpc, DWORD* ptGenericParam, DWORD* ptkConstraintType)
gpcDWORDin情報を取得する対象の GenericParamConstraint トークンを指定する。
ptGenericParamDWORD*inout制約を持つジェネリックパラメーターのトークンを受け取る。
ptkConstraintTypeDWORD*inout制約となる型のトークンを受け取る。
vtbl 70 HRESULT GetPEKind(DWORD* pdwPEKind, DWORD* pdwMAchine)
pdwPEKindDWORD*inoutPE ファイルの種別を示すフラグ (CorPEKind) を受け取る。
pdwMAchineDWORD*inout対象とするマシンアーキテクチャを示す値を受け取る。
vtbl 71 HRESULT GetVersionString(LPWSTR pwzBuf, DWORD ccBufSize, DWORD* pccBufSize)
pwzBufLPWSTRoutoptionalランタイムバージョン文字列を受け取るバッファへのポインタである。
ccBufSizeDWORDinバッファの最大文字数を指定する。
pccBufSizeDWORD*inout実際に書き込まれた文字数を受け取る。
vtbl 72 HRESULT EnumMethodSpecs(void** phEnum, DWORD tk, DWORD* rMethodSpecs, DWORD cMax, DWORD* pcMethodSpecs)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
tkDWORDinメソッド仕様を列挙する対象のメソッドまたは MemberRef のトークンを指定する。mdTokenNil で全件対象となる。
rMethodSpecsDWORD*inout取得した MethodSpec トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcMethodSpecsDWORD*inout実際に取得した MethodSpec の数を受け取る。

HSP用 COM定義

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

出力引数:
#define global IID_IMetaDataImport2 "{FCE5EFA0-8BBA-4F8E-A036-8F2022B08466}"
#usecom global IMetaDataImport2 IID_IMetaDataImport2 "{}"
#comfunc global IMetaDataImport2_EnumGenericParams               65 sptr,int,var,int,var
#comfunc global IMetaDataImport2_GetGenericParamProps            66 int,var,var,var,var,var,int,var
#comfunc global IMetaDataImport2_GetMethodSpecProps              67 int,var,var,var
#comfunc global IMetaDataImport2_EnumGenericParamConstraints     68 sptr,int,var,int,var
#comfunc global IMetaDataImport2_GetGenericParamConstraintProps  69 int,var,var
#comfunc global IMetaDataImport2_GetPEKind                       70 var,var
#comfunc global IMetaDataImport2_GetVersionString                71 var,int,var
#comfunc global IMetaDataImport2_EnumMethodSpecs                 72 sptr,int,var,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。