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

IMetaDataImport

COM
IID7dac8207-d3ae-4c75-9b67-92801a497d44継承元IUnknown自前メソッド開始 vtbl3

メソッド 62

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

vtbl 3 void CloseEnum(void* hEnum)
hEnumvoid*inout閉じる対象の列挙ハンドルを指定する。
vtbl 4 HRESULT CountEnum(void* hEnum, DWORD* pulCount)
hEnumvoid*inout対象の列挙ハンドルを指定する。
pulCountDWORD*inout列挙対象の要素数を受け取る。
vtbl 5 HRESULT ResetEnum(void* hEnum, DWORD ulPos)
hEnumvoid*inoutリセットする対象の列挙ハンドルを指定する。
ulPosDWORDin列挙を再開する位置を指定する。
vtbl 6 HRESULT EnumTypeDefs(void** phEnum, DWORD* rTypeDefs, DWORD cMax, DWORD* pcTypeDefs)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
rTypeDefsDWORD*inout取得した TypeDef トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTypeDefsDWORD*inout実際に取得した TypeDef の数を受け取る。
vtbl 7 HRESULT EnumInterfaceImpls(void** phEnum, DWORD td, DWORD* rImpls, DWORD cMax, DWORD* pcImpls)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
tdDWORDinインターフェイス実装を列挙する対象の型 (TypeDef) のトークンを指定する。
rImplsDWORD*inout取得した InterfaceImpl トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcImplsDWORD*inout実際に取得した InterfaceImpl の数を受け取る。
vtbl 8 HRESULT EnumTypeRefs(void** phEnum, DWORD* rTypeRefs, DWORD cMax, DWORD* pcTypeRefs)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
rTypeRefsDWORD*inout取得した TypeRef トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTypeRefsDWORD*inout実際に取得した TypeRef の数を受け取る。
vtbl 9 HRESULT FindTypeDefByName(LPWSTR szTypeDef, DWORD tkEnclosingClass, DWORD* ptd)
szTypeDefLPWSTRin検索する型の名前を指定する文字列である。
tkEnclosingClassDWORDin入れ子型を検索する場合の外側の型のトークンを指定する。トップレベル型では mdTokenNil を指定する。
ptdDWORD*inout見つかった型の TypeDef トークンを受け取る。
vtbl 10 HRESULT GetScopeProps(LPWSTR szName, DWORD cchName, DWORD* pchName, GUID* pmvid)
szNameLPWSTRoutoptionalスコープ (モジュール) の名前を受け取るバッファへのポインタである。
cchNameDWORDin名前用バッファの最大文字数を指定する。
pchNameDWORD*inout実際に書き込まれた名前の文字数を受け取る。
pmvidGUID*inoutモジュールのバージョン識別子 (MVID) を示す GUID を受け取る。
vtbl 11 HRESULT GetModuleFromScope(DWORD* pmd)
pmdDWORD*inout現在のスコープを表す Module トークンを受け取る。
vtbl 12 HRESULT GetTypeDefProps(DWORD td, LPWSTR szTypeDef, DWORD cchTypeDef, DWORD* pchTypeDef, DWORD* pdwTypeDefFlags, DWORD* ptkExtends)
tdDWORDin情報を取得する対象の型 (TypeDef) のトークンを指定する。
szTypeDefLPWSTRoutoptional型名を受け取るバッファへのポインタである。
cchTypeDefDWORDin型名用バッファの最大文字数を指定する。
pchTypeDefDWORD*inout実際に書き込まれた型名の文字数を受け取る。
pdwTypeDefFlagsDWORD*inout型の属性フラグを受け取る。
ptkExtendsDWORD*inout基底クラスのトークンを受け取る。
vtbl 13 HRESULT GetInterfaceImplProps(DWORD iiImpl, DWORD* pClass, DWORD* ptkIface)
iiImplDWORDin情報を取得する対象の InterfaceImpl トークンを指定する。
pClassDWORD*inoutインターフェイスを実装するクラスの TypeDef トークンを受け取る。
ptkIfaceDWORD*inout実装されるインターフェイスのトークンを受け取る。
vtbl 14 HRESULT GetTypeRefProps(DWORD tr, DWORD* ptkResolutionScope, LPWSTR szName, DWORD cchName, DWORD* pchName)
trDWORDin情報を取得する対象の TypeRef トークンを指定する。
ptkResolutionScopeDWORD*inout型参照の解決スコープのトークンを受け取る。
szNameLPWSTRoutoptional型参照名を受け取るバッファへのポインタである。
cchNameDWORDin名前用バッファの最大文字数を指定する。
pchNameDWORD*inout実際に書き込まれた名前の文字数を受け取る。
vtbl 15 HRESULT ResolveTypeRef(DWORD tr, GUID* riid, IUnknown** ppIScope, DWORD* ptd)
trDWORDin解決する対象の TypeRef トークンを指定する。
riidGUID*in取得したいインターフェイスの識別子 (IID) へのポインタである。
ppIScopeIUnknown**out型が定義されているスコープの、要求したインターフェイスへのポインタを受け取る。
ptdDWORD*inout解決された型の TypeDef トークンを受け取る。
vtbl 16 HRESULT EnumMembers(void** phEnum, DWORD cl, DWORD* rMembers, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
clDWORDinメンバーを列挙する対象の型 (TypeDef) のトークンを指定する。
rMembersDWORD*inout取得したメンバートークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得したトークンの数を受け取る。
vtbl 17 HRESULT EnumMembersWithName(void** phEnum, DWORD cl, LPWSTR szName, DWORD* rMembers, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
clDWORDinメンバーを列挙する対象の型 (TypeDef) のトークンを指定する。
szNameLPWSTRin列挙対象を絞り込むメンバー名を指定する文字列である。
rMembersDWORD*inout取得したメンバートークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得したトークンの数を受け取る。
vtbl 18 HRESULT EnumMethods(void** phEnum, DWORD cl, DWORD* rMethods, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
clDWORDinメソッドを列挙する対象の型 (TypeDef) のトークンを指定する。
rMethodsDWORD*inout取得した MethodDef トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得したトークンの数を受け取る。
vtbl 19 HRESULT EnumMethodsWithName(void** phEnum, DWORD cl, LPWSTR szName, DWORD* rMethods, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
clDWORDinメソッドを列挙する対象の型 (TypeDef) のトークンを指定する。
szNameLPWSTRin列挙対象を絞り込むメソッド名を指定する文字列である。
rMethodsDWORD*inout取得した MethodDef トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得したトークンの数を受け取る。
vtbl 20 HRESULT EnumFields(void** phEnum, DWORD cl, DWORD* rFields, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
clDWORDinフィールドを列挙する対象の型 (TypeDef) のトークンを指定する。
rFieldsDWORD*inout取得した FieldDef トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得したトークンの数を受け取る。
vtbl 21 HRESULT EnumFieldsWithName(void** phEnum, DWORD cl, LPWSTR szName, DWORD* rFields, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
clDWORDinフィールドを列挙する対象の型 (TypeDef) のトークンを指定する。
szNameLPWSTRin列挙対象を絞り込むフィールド名を指定する文字列である。
rFieldsDWORD*inout取得した FieldDef トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得したトークンの数を受け取る。
vtbl 22 HRESULT EnumParams(void** phEnum, DWORD mb, DWORD* rParams, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
mbDWORDinパラメーターを列挙する対象のメソッド (MethodDef) のトークンを指定する。
rParamsDWORD*inout取得した Param トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得したトークンの数を受け取る。
vtbl 23 HRESULT EnumMemberRefs(void** phEnum, DWORD tkParent, DWORD* rMemberRefs, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
tkParentDWORDinメンバー参照を列挙する対象の親トークンを指定する。
rMemberRefsDWORD*inout取得した MemberRef トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得したトークンの数を受け取る。
vtbl 24 HRESULT EnumMethodImpls(void** phEnum, DWORD td, DWORD* rMethodBody, DWORD* rMethodDecl, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
tdDWORDinメソッド実装を列挙する対象の型 (TypeDef) のトークンを指定する。
rMethodBodyDWORD*inout実装本体メソッドのトークンを格納する配列へのポインタである。
rMethodDeclDWORD*inout宣言側メソッドのトークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得した組の数を受け取る。
vtbl 25 HRESULT EnumPermissionSets(void** phEnum, DWORD tk, DWORD dwActions, DWORD* rPermission, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
tkDWORDinアクセス許可セットを列挙する対象のトークンを指定する。mdTokenNil で全件対象となる。
dwActionsDWORDin列挙対象とするセキュリティアクションを指定する。
rPermissionDWORD*inout取得した Permission トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得したトークンの数を受け取る。
vtbl 26 HRESULT FindMember(DWORD td, LPWSTR szName, BYTE* pvSigBlob, DWORD cbSigBlob, DWORD* pmb)
tdDWORDinメンバーを検索する対象の型 (TypeDef) のトークンを指定する。
szNameLPWSTRin検索するメンバーの名前を指定する文字列である。
pvSigBlobBYTE*inoutメンバーのシグネチャを表す blob へのポインタである。
cbSigBlobDWORDinシグネチャ blob のサイズをバイト数で指定する。
pmbDWORD*inout見つかったメンバーのトークンを受け取る。
vtbl 27 HRESULT FindMethod(DWORD td, LPWSTR szName, BYTE* pvSigBlob, DWORD cbSigBlob, DWORD* pmb)
tdDWORDinメソッドを検索する対象の型 (TypeDef) のトークンを指定する。
szNameLPWSTRin検索するメソッドの名前を指定する文字列である。
pvSigBlobBYTE*inoutメソッドのシグネチャを表す blob へのポインタである。
cbSigBlobDWORDinシグネチャ blob のサイズをバイト数で指定する。
pmbDWORD*inout見つかったメソッドの MethodDef トークンを受け取る。
vtbl 28 HRESULT FindField(DWORD td, LPWSTR szName, BYTE* pvSigBlob, DWORD cbSigBlob, DWORD* pmb)
tdDWORDinフィールドを検索する対象の型 (TypeDef) のトークンを指定する。
szNameLPWSTRin検索するフィールドの名前を指定する文字列である。
pvSigBlobBYTE*inoutフィールドのシグネチャを表す blob へのポインタである。
cbSigBlobDWORDinシグネチャ blob のサイズをバイト数で指定する。
pmbDWORD*inout見つかったフィールドの FieldDef トークンを受け取る。
vtbl 29 HRESULT FindMemberRef(DWORD td, LPWSTR szName, BYTE* pvSigBlob, DWORD cbSigBlob, DWORD* pmr)
tdDWORDinメンバー参照を検索する対象の型または親のトークンを指定する。
szNameLPWSTRin検索するメンバー参照の名前を指定する文字列である。
pvSigBlobBYTE*inoutメンバーのシグネチャを表す blob へのポインタである。
cbSigBlobDWORDinシグネチャ blob のサイズをバイト数で指定する。
pmrDWORD*inout見つかった MemberRef トークンを受け取る。
vtbl 30 HRESULT GetMethodProps(DWORD mb, DWORD* pClass, LPWSTR szMethod, DWORD cchMethod, DWORD* pchMethod, DWORD* pdwAttr, BYTE** ppvSigBlob, DWORD* pcbSigBlob, DWORD* pulCodeRVA, DWORD* pdwImplFlags)
mbDWORDin情報を取得する対象のメソッド (MethodDef) のトークンを指定する。
pClassDWORD*inoutメソッドを所有する型の TypeDef トークンを受け取る。
szMethodLPWSTRoutoptionalメソッド名を受け取るバッファへのポインタである。
cchMethodDWORDinメソッド名用バッファの最大文字数を指定する。
pchMethodDWORD*inout実際に書き込まれたメソッド名の文字数を受け取る。
pdwAttrDWORD*inoutメソッドの属性フラグを受け取る。
ppvSigBlobBYTE**inoutメソッドのシグネチャ blob へのポインタを受け取る。
pcbSigBlobDWORD*inoutシグネチャ blob のサイズをバイト数で受け取る。
pulCodeRVADWORD*inoutメソッド本体コードの相対仮想アドレス (RVA) を受け取る。
pdwImplFlagsDWORD*inoutメソッド実装の属性フラグを受け取る。
vtbl 31 HRESULT GetMemberRefProps(DWORD mr, DWORD* ptk, LPWSTR szMember, DWORD cchMember, DWORD* pchMember, BYTE** ppvSigBlob, DWORD* pbSig)
mrDWORDin情報を取得する対象の MemberRef トークンを指定する。
ptkDWORD*inoutメンバー参照の親トークンを受け取る。
szMemberLPWSTRoutoptionalメンバー名を受け取るバッファへのポインタである。
cchMemberDWORDinメンバー名用バッファの最大文字数を指定する。
pchMemberDWORD*inout実際に書き込まれたメンバー名の文字数を受け取る。
ppvSigBlobBYTE**inoutメンバーのシグネチャ blob へのポインタを受け取る。
pbSigDWORD*inoutシグネチャ blob のサイズをバイト数で受け取る。
vtbl 32 HRESULT EnumProperties(void** phEnum, DWORD td, DWORD* rProperties, DWORD cMax, DWORD* pcProperties)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
tdDWORDinプロパティを列挙する対象の型 (TypeDef) のトークンを指定する。
rPropertiesDWORD*inout取得した Property トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcPropertiesDWORD*inout実際に取得したプロパティの数を受け取る。
vtbl 33 HRESULT EnumEvents(void** phEnum, DWORD td, DWORD* rEvents, DWORD cMax, DWORD* pcEvents)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
tdDWORDinイベントを列挙する対象の型 (TypeDef) のトークンを指定する。
rEventsDWORD*inout取得した Event トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcEventsDWORD*inout実際に取得したイベントの数を受け取る。
vtbl 34 HRESULT GetEventProps(DWORD ev, DWORD* pClass, LPWSTR szEvent, DWORD cchEvent, DWORD* pchEvent, DWORD* pdwEventFlags, DWORD* ptkEventType, DWORD* pmdAddOn, DWORD* pmdRemoveOn, DWORD* pmdFire, DWORD* rmdOtherMethod, DWORD cMax, DWORD* pcOtherMethod)
evDWORDin情報を取得する対象のイベント (Event) のトークンを指定する。
pClassDWORD*inoutイベントを所有する型の TypeDef トークンを受け取る。
szEventLPWSTRinイベント名を受け取るバッファへのポインタである。
cchEventDWORDinイベント名用バッファの最大文字数を指定する。
pchEventDWORD*inout実際に書き込まれたイベント名の文字数を受け取る。
pdwEventFlagsDWORD*inoutイベントの属性フラグを受け取る。
ptkEventTypeDWORD*inoutイベントのデリゲート型を示すトークンを受け取る。
pmdAddOnDWORD*inoutイベントの追加 (add) アクセサーメソッドのトークンを受け取る。
pmdRemoveOnDWORD*inoutイベントの削除 (remove) アクセサーメソッドのトークンを受け取る。
pmdFireDWORD*inoutイベントの発火 (fire) メソッドのトークンを受け取る。
rmdOtherMethodDWORD*inoutイベントに関連するその他のメソッドのトークンを格納する配列へのポインタである。
cMaxDWORDinその他メソッド配列に格納できる最大要素数を指定する。
pcOtherMethodDWORD*inout実際に取得したその他メソッドの数を受け取る。
vtbl 35 HRESULT EnumMethodSemantics(void** phEnum, DWORD mb, DWORD* rEventProp, DWORD cMax, DWORD* pcEventProp)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
mbDWORDinメソッドセマンティクスを列挙する対象のメソッド (MethodDef) のトークンを指定する。
rEventPropDWORD*inout関連付けられたイベントまたはプロパティのトークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcEventPropDWORD*inout実際に取得した数を受け取る。
vtbl 36 HRESULT GetMethodSemantics(DWORD mb, DWORD tkEventProp, DWORD* pdwSemanticsFlags)
mbDWORDin情報を取得する対象のメソッド (MethodDef) のトークンを指定する。
tkEventPropDWORDin関連付けられたイベントまたはプロパティのトークンを指定する。
pdwSemanticsFlagsDWORD*inoutメソッドのセマンティクス (getter, setter, add 等) を示すフラグを受け取る。
vtbl 37 HRESULT GetClassLayout(DWORD td, DWORD* pdwPackSize, COR_FIELD_OFFSET* rFieldOffset, DWORD cMax, DWORD* pcFieldOffset, DWORD* pulClassSize)
tdDWORDin情報を取得する対象の型 (TypeDef) のトークンを指定する。
pdwPackSizeDWORD*inoutフィールドのパッキングサイズ (アラインメント) を受け取る。
rFieldOffsetCOR_FIELD_OFFSET*inout各フィールドのオフセットを示す COR_FIELD_OFFSET 配列へのポインタである。
cMaxDWORDinオフセット配列に格納できる最大要素数を指定する。
pcFieldOffsetDWORD*inout実際に取得したフィールドオフセットの数を受け取る。
pulClassSizeDWORD*inoutクラス全体のサイズをバイト数で受け取る。
vtbl 38 HRESULT GetFieldMarshal(DWORD tk, BYTE** ppvNativeType, DWORD* pcbNativeType)
tkDWORDin情報を取得する対象のフィールドまたはパラメーターのトークンを指定する。
ppvNativeTypeBYTE**inoutネイティブ型のマーシャリング記述子へのポインタを受け取る。
pcbNativeTypeDWORD*inoutネイティブ型記述子のサイズをバイト数で受け取る。
vtbl 39 HRESULT GetRVA(DWORD tk, DWORD* pulCodeRVA, DWORD* pdwImplFlags)
tkDWORDin情報を取得する対象のメソッドまたはフィールドのトークンを指定する。
pulCodeRVADWORD*inoutコードまたはデータの相対仮想アドレス (RVA) を受け取る。
pdwImplFlagsDWORD*inout実装の属性フラグを受け取る。
vtbl 40 HRESULT GetPermissionSetProps(DWORD pm, DWORD* pdwAction, void** ppvPermission, DWORD* pcbPermission)
pmDWORDin情報を取得する対象のアクセス許可セット (Permission) のトークンを指定する。
pdwActionDWORD*inoutセキュリティアクションの種別を受け取る。
ppvPermissionvoid**inアクセス許可セットのバイナリデータへのポインタを受け取る。
pcbPermissionDWORD*inoutアクセス許可セットデータのサイズをバイト数で受け取る。
vtbl 41 HRESULT GetSigFromToken(DWORD mdSig, BYTE** ppvSig, DWORD* pcbSig)
mdSigDWORDinシグネチャを取得する対象の StandAloneSig トークンを指定する。
ppvSigBYTE**inoutシグネチャを表す blob へのポインタを受け取る。
pcbSigDWORD*inoutシグネチャ blob のサイズをバイト数で受け取る。
vtbl 42 HRESULT GetModuleRefProps(DWORD mur, LPWSTR szName, DWORD cchName, DWORD* pchName)
murDWORDin情報を取得する対象の ModuleRef トークンを指定する。
szNameLPWSTRoutoptionalモジュール参照名を受け取るバッファへのポインタである。
cchNameDWORDin名前用バッファの最大文字数を指定する。
pchNameDWORD*inout実際に書き込まれた名前の文字数を受け取る。
vtbl 43 HRESULT EnumModuleRefs(void** phEnum, DWORD* rModuleRefs, DWORD cmax, DWORD* pcModuleRefs)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
rModuleRefsDWORD*inout取得した ModuleRef トークンを格納する配列へのポインタである。
cmaxDWORDin配列に格納できる最大要素数を指定する。
pcModuleRefsDWORD*inout実際に取得した ModuleRef の数を受け取る。
vtbl 44 HRESULT GetTypeSpecFromToken(DWORD typespec, BYTE** ppvSig, DWORD* pcbSig)
typespecDWORDinシグネチャを取得する対象の TypeSpec トークンを指定する。
ppvSigBYTE**inout型仕様を表すシグネチャ blob へのポインタを受け取る。
pcbSigDWORD*inoutシグネチャ blob のサイズをバイト数で受け取る。
vtbl 45 HRESULT GetNameFromToken(DWORD tk, CHAR** pszUtf8NamePtr)
tkDWORDin名前を取得する対象のメタデータトークンを指定する。
pszUtf8NamePtrCHAR**inoutUTF-8 形式の名前文字列へのポインタを受け取る。
vtbl 46 HRESULT EnumUnresolvedMethods(void** phEnum, DWORD* rMethods, DWORD cMax, DWORD* pcTokens)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
rMethodsDWORD*inout取得した未解決メソッドのトークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcTokensDWORD*inout実際に取得したトークンの数を受け取る。
vtbl 47 HRESULT GetUserString(DWORD stk, LPWSTR szString, DWORD cchString, DWORD* pchString)
stkDWORDin取得する対象のユーザー文字列 (String) のトークンを指定する。
szStringLPWSTRoutoptional文字列を受け取るバッファへのポインタである。
cchStringDWORDinバッファの最大文字数を指定する。
pchStringDWORD*inout実際に書き込まれた文字数を受け取る。
vtbl 48 HRESULT GetPinvokeMap(DWORD tk, DWORD* pdwMappingFlags, LPWSTR szImportName, DWORD cchImportName, DWORD* pchImportName, DWORD* pmrImportDLL)
tkDWORDin情報を取得する対象のフィールドまたはメソッドのトークンを指定する。
pdwMappingFlagsDWORD*inoutP/Invoke のマッピング属性フラグを受け取る。
szImportNameLPWSTRoutoptionalインポートするネイティブ関数名を受け取るバッファへのポインタである。
cchImportNameDWORDin名前用バッファの最大文字数を指定する。
pchImportNameDWORD*inout実際に書き込まれた名前の文字数を受け取る。
pmrImportDLLDWORD*inout対象 DLL を示す ModuleRef トークンを受け取る。
vtbl 49 HRESULT EnumSignatures(void** phEnum, DWORD* rSignatures, DWORD cmax, DWORD* pcSignatures)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
rSignaturesDWORD*inout取得した StandAloneSig トークンを格納する配列へのポインタである。
cmaxDWORDin配列に格納できる最大要素数を指定する。
pcSignaturesDWORD*inout実際に取得したシグネチャの数を受け取る。
vtbl 50 HRESULT EnumTypeSpecs(void** phEnum, DWORD* rTypeSpecs, DWORD cmax, DWORD* pcTypeSpecs)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
rTypeSpecsDWORD*inout取得した TypeSpec トークンを格納する配列へのポインタである。
cmaxDWORDin配列に格納できる最大要素数を指定する。
pcTypeSpecsDWORD*inout実際に取得した TypeSpec の数を受け取る。
vtbl 51 HRESULT EnumUserStrings(void** phEnum, DWORD* rStrings, DWORD cmax, DWORD* pcStrings)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
rStringsDWORD*inout取得したユーザー文字列 (String) トークンを格納する配列へのポインタである。
cmaxDWORDin配列に格納できる最大要素数を指定する。
pcStringsDWORD*inout実際に取得した文字列の数を受け取る。
vtbl 52 HRESULT GetParamForMethodIndex(DWORD md, DWORD ulParamSeq, DWORD* ppd)
mdDWORDin対象のメソッド (MethodDef) のトークンを指定する。
ulParamSeqDWORDin取得するパラメーターの順序位置を指定する。
ppdDWORD*inout対応する Param トークンを受け取る。
vtbl 53 HRESULT EnumCustomAttributes(void** phEnum, DWORD tk, DWORD tkType, DWORD* rCustomAttributes, DWORD cMax, DWORD* pcCustomAttributes)
phEnumvoid**inout列挙ハンドルへのポインタである。初回呼び出し時は指す値を NULL に初期化する。
tkDWORDinカスタム属性を列挙する対象のトークンを指定する。mdTokenNil で全件対象となる。
tkTypeDWORDin列挙対象を絞り込むカスタム属性のコンストラクター型トークンを指定する。mdTokenNil で全種別が対象となる。
rCustomAttributesDWORD*inout取得した CustomAttribute トークンを格納する配列へのポインタである。
cMaxDWORDin配列に格納できる最大要素数を指定する。
pcCustomAttributesDWORD*inout実際に取得したカスタム属性の数を受け取る。
vtbl 54 HRESULT GetCustomAttributeProps(DWORD cv, DWORD* ptkObj, DWORD* ptkType, void** ppBlob, DWORD* pcbSize)
cvDWORDin情報を取得する対象のカスタム属性 (CustomAttribute) のトークンを指定する。
ptkObjDWORD*inoutカスタム属性が付与されている対象のトークンを受け取る。
ptkTypeDWORD*inoutカスタム属性のコンストラクターを示すトークンを受け取る。
ppBlobvoid**inカスタム属性のバイナリ値 (blob) へのポインタを受け取る。
pcbSizeDWORD*inoutカスタム属性 blob のサイズをバイト数で受け取る。
vtbl 55 HRESULT FindTypeRef(DWORD tkResolutionScope, LPWSTR szName, DWORD* ptr)
tkResolutionScopeDWORDin型参照の解決スコープのトークンを指定する。
szNameLPWSTRin検索する型参照の名前を指定する文字列である。
ptrDWORD*inout見つかった TypeRef トークンを受け取る。
vtbl 56 HRESULT GetMemberProps(DWORD mb, DWORD* pClass, LPWSTR szMember, DWORD cchMember, DWORD* pchMember, DWORD* pdwAttr, BYTE** ppvSigBlob, DWORD* pcbSigBlob, DWORD* pulCodeRVA, DWORD* pdwImplFlags, DWORD* pdwCPlusTypeFlag, void** ppValue, DWORD* pcchValue)
mbDWORDin情報を取得する対象のメンバートークンを指定する。
pClassDWORD*inoutメンバーを所有する型の TypeDef トークンを受け取る。
szMemberLPWSTRoutoptionalメンバー名を受け取るバッファへのポインタである。
cchMemberDWORDinメンバー名用バッファの最大文字数を指定する。
pchMemberDWORD*inout実際に書き込まれたメンバー名の文字数を受け取る。
pdwAttrDWORD*inoutメンバーの属性フラグを受け取る。
ppvSigBlobBYTE**inoutメンバーのシグネチャ blob へのポインタを受け取る。
pcbSigBlobDWORD*inoutシグネチャ blob のサイズをバイト数で受け取る。
pulCodeRVADWORD*inoutコードの相対仮想アドレス (RVA) を受け取る。
pdwImplFlagsDWORD*inout実装の属性フラグを受け取る。
pdwCPlusTypeFlagDWORD*inout既定値の要素型を示す ELEMENT_TYPE 値を受け取る。
ppValuevoid**inout既定値へのポインタを受け取る。
pcchValueDWORD*inout既定値が文字列の場合の文字数を受け取る。
vtbl 57 HRESULT GetFieldProps(DWORD mb, DWORD* pClass, LPWSTR szField, DWORD cchField, DWORD* pchField, DWORD* pdwAttr, BYTE** ppvSigBlob, DWORD* pcbSigBlob, DWORD* pdwCPlusTypeFlag, void** ppValue, DWORD* pcchValue)
mbDWORDin情報を取得する対象のフィールド (FieldDef) のトークンを指定する。
pClassDWORD*inoutフィールドを所有する型の TypeDef トークンを受け取る。
szFieldLPWSTRoutoptionalフィールド名を受け取るバッファへのポインタである。
cchFieldDWORDinフィールド名用バッファの最大文字数を指定する。
pchFieldDWORD*inout実際に書き込まれたフィールド名の文字数を受け取る。
pdwAttrDWORD*inoutフィールドの属性フラグを受け取る。
ppvSigBlobBYTE**inoutフィールドのシグネチャ blob へのポインタを受け取る。
pcbSigBlobDWORD*inoutシグネチャ blob のサイズをバイト数で受け取る。
pdwCPlusTypeFlagDWORD*inout既定値の要素型を示す ELEMENT_TYPE 値を受け取る。
ppValuevoid**inoutフィールドの既定値へのポインタを受け取る。
pcchValueDWORD*inout既定値が文字列の場合の文字数を受け取る。
vtbl 58 HRESULT GetPropertyProps(DWORD prop, DWORD* pClass, LPWSTR szProperty, DWORD cchProperty, DWORD* pchProperty, DWORD* pdwPropFlags, BYTE** ppvSig, DWORD* pbSig, DWORD* pdwCPlusTypeFlag, void** ppDefaultValue, DWORD* pcchDefaultValue, DWORD* pmdSetter, DWORD* pmdGetter, DWORD* rmdOtherMethod, DWORD cMax, DWORD* pcOtherMethod)
propDWORDin情報を取得する対象のプロパティ (Property) のトークンを指定する。
pClassDWORD*inoutプロパティを所有する型の TypeDef トークンを受け取る。
szPropertyLPWSTRinプロパティ名を受け取るバッファへのポインタである。
cchPropertyDWORDinプロパティ名用バッファの最大文字数を指定する。
pchPropertyDWORD*inout実際に書き込まれたプロパティ名の文字数を受け取る。
pdwPropFlagsDWORD*inoutプロパティの属性フラグを受け取る。
ppvSigBYTE**inoutプロパティのシグネチャ blob へのポインタを受け取る。
pbSigDWORD*inoutシグネチャ blob のサイズをバイト数で受け取る。
pdwCPlusTypeFlagDWORD*inout既定値の要素型を示す ELEMENT_TYPE 値を受け取る。
ppDefaultValuevoid**inoutプロパティの既定値へのポインタを受け取る。
pcchDefaultValueDWORD*inout既定値が文字列の場合の文字数を受け取る。
pmdSetterDWORD*inoutプロパティの設定 (set) アクセサーメソッドのトークンを受け取る。
pmdGetterDWORD*inoutプロパティの取得 (get) アクセサーメソッドのトークンを受け取る。
rmdOtherMethodDWORD*inoutプロパティに関連するその他のメソッドのトークンを格納する配列へのポインタである。
cMaxDWORDinその他メソッド配列に格納できる最大要素数を指定する。
pcOtherMethodDWORD*inout実際に取得したその他メソッドの数を受け取る。
vtbl 59 HRESULT GetParamProps(DWORD tk, DWORD* pmd, DWORD* pulSequence, LPWSTR szName, DWORD cchName, DWORD* pchName, DWORD* pdwAttr, DWORD* pdwCPlusTypeFlag, void** ppValue, DWORD* pcchValue)
tkDWORDin情報を取得する対象のパラメーター (Param) のトークンを指定する。
pmdDWORD*inoutパラメーターを所有するメソッドの MethodDef トークンを受け取る。
pulSequenceDWORD*inoutパラメーターの順序位置を受け取る。
szNameLPWSTRoutoptionalパラメーター名を受け取るバッファへのポインタである。
cchNameDWORDin名前用バッファの最大文字数を指定する。
pchNameDWORD*inout実際に書き込まれた名前の文字数を受け取る。
pdwAttrDWORD*inoutパラメーターの属性フラグを受け取る。
pdwCPlusTypeFlagDWORD*inout既定値の要素型を示す ELEMENT_TYPE 値を受け取る。
ppValuevoid**inoutパラメーターの既定値へのポインタを受け取る。
pcchValueDWORD*inout既定値が文字列の場合の文字数を受け取る。
vtbl 60 HRESULT GetCustomAttributeByName(DWORD tkObj, LPWSTR szName, void** ppData, DWORD* pcbData)
tkObjDWORDinカスタム属性を検索する対象のトークンを指定する。
szNameLPWSTRin検索するカスタム属性の名前を指定する文字列である。
ppDatavoid**in見つかったカスタム属性のバイナリ値 (blob) へのポインタを受け取る。
pcbDataDWORD*inoutカスタム属性 blob のサイズをバイト数で受け取る。
vtbl 61 BOOL IsValidToken(DWORD tk)
tkDWORDin有効性を検証する対象のメタデータトークンを指定する。
vtbl 62 HRESULT GetNestedClassProps(DWORD tdNestedClass, DWORD* ptdEnclosingClass)
tdNestedClassDWORDin外側の型を取得する対象の入れ子型 (TypeDef) のトークンを指定する。
ptdEnclosingClassDWORD*inout入れ子型を内包する外側の型の TypeDef トークンを受け取る。
vtbl 63 HRESULT GetNativeCallConvFromSig(void* pvSig, DWORD cbSig, DWORD* pCallConv)
pvSigvoid*in呼び出し規約を取得するシグネチャ blob へのポインタである。
cbSigDWORDinシグネチャ blob のサイズをバイト数で指定する。
pCallConvDWORD*inoutネイティブの呼び出し規約を示す値を受け取る。
vtbl 64 HRESULT IsGlobal(DWORD pd, INT* pbGlobal)
pdDWORDin判定する対象のメンバーまたはフィールドのトークンを指定する。
pbGlobalINT*inout対象がグローバル (モジュールレベル) かどうかを示す値を受け取る。

HSP用 COM定義

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

出力引数:
#define global IID_IMetaDataImport "{7DAC8207-D3AE-4C75-9B67-92801A497D44}"
#usecom global IMetaDataImport IID_IMetaDataImport "{}"
#comfunc global IMetaDataImport_CloseEnum                 3 sptr
#comfunc global IMetaDataImport_CountEnum                 4 sptr,var
#comfunc global IMetaDataImport_ResetEnum                 5 sptr,int
#comfunc global IMetaDataImport_EnumTypeDefs              6 sptr,var,int,var
#comfunc global IMetaDataImport_EnumInterfaceImpls        7 sptr,int,var,int,var
#comfunc global IMetaDataImport_EnumTypeRefs              8 sptr,var,int,var
#comfunc global IMetaDataImport_FindTypeDefByName         9 wstr,int,var
#comfunc global IMetaDataImport_GetScopeProps             10 var,int,var,var
#comfunc global IMetaDataImport_GetModuleFromScope        11 var
#comfunc global IMetaDataImport_GetTypeDefProps           12 int,var,int,var,var,var
#comfunc global IMetaDataImport_GetInterfaceImplProps     13 int,var,var
#comfunc global IMetaDataImport_GetTypeRefProps           14 int,var,var,int,var
#comfunc global IMetaDataImport_ResolveTypeRef            15 int,var,sptr,var
#comfunc global IMetaDataImport_EnumMembers               16 sptr,int,var,int,var
#comfunc global IMetaDataImport_EnumMembersWithName       17 sptr,int,wstr,var,int,var
#comfunc global IMetaDataImport_EnumMethods               18 sptr,int,var,int,var
#comfunc global IMetaDataImport_EnumMethodsWithName       19 sptr,int,wstr,var,int,var
#comfunc global IMetaDataImport_EnumFields                20 sptr,int,var,int,var
#comfunc global IMetaDataImport_EnumFieldsWithName        21 sptr,int,wstr,var,int,var
#comfunc global IMetaDataImport_EnumParams                22 sptr,int,var,int,var
#comfunc global IMetaDataImport_EnumMemberRefs            23 sptr,int,var,int,var
#comfunc global IMetaDataImport_EnumMethodImpls           24 sptr,int,var,var,int,var
#comfunc global IMetaDataImport_EnumPermissionSets        25 sptr,int,int,var,int,var
#comfunc global IMetaDataImport_FindMember                26 int,wstr,var,int,var
#comfunc global IMetaDataImport_FindMethod                27 int,wstr,var,int,var
#comfunc global IMetaDataImport_FindField                 28 int,wstr,var,int,var
#comfunc global IMetaDataImport_FindMemberRef             29 int,wstr,var,int,var
#comfunc global IMetaDataImport_GetMethodProps            30 int,var,var,int,var,var,var,var,var,var
#comfunc global IMetaDataImport_GetMemberRefProps         31 int,var,var,int,var,var,var
#comfunc global IMetaDataImport_EnumProperties            32 sptr,int,var,int,var
#comfunc global IMetaDataImport_EnumEvents                33 sptr,int,var,int,var
#comfunc global IMetaDataImport_GetEventProps             34 int,var,wstr,int,var,var,var,var,var,var,var,int,var
#comfunc global IMetaDataImport_EnumMethodSemantics       35 sptr,int,var,int,var
#comfunc global IMetaDataImport_GetMethodSemantics        36 int,int,var
#comfunc global IMetaDataImport_GetClassLayout            37 int,var,var,int,var,var
#comfunc global IMetaDataImport_GetFieldMarshal           38 int,var,var
#comfunc global IMetaDataImport_GetRVA                    39 int,var,var
#comfunc global IMetaDataImport_GetPermissionSetProps     40 int,var,sptr,var
#comfunc global IMetaDataImport_GetSigFromToken           41 int,var,var
#comfunc global IMetaDataImport_GetModuleRefProps         42 int,var,int,var
#comfunc global IMetaDataImport_EnumModuleRefs            43 sptr,var,int,var
#comfunc global IMetaDataImport_GetTypeSpecFromToken      44 int,var,var
#comfunc global IMetaDataImport_GetNameFromToken          45 int,var
#comfunc global IMetaDataImport_EnumUnresolvedMethods     46 sptr,var,int,var
#comfunc global IMetaDataImport_GetUserString             47 int,var,int,var
#comfunc global IMetaDataImport_GetPinvokeMap             48 int,var,var,int,var,var
#comfunc global IMetaDataImport_EnumSignatures            49 sptr,var,int,var
#comfunc global IMetaDataImport_EnumTypeSpecs             50 sptr,var,int,var
#comfunc global IMetaDataImport_EnumUserStrings           51 sptr,var,int,var
#comfunc global IMetaDataImport_GetParamForMethodIndex    52 int,int,var
#comfunc global IMetaDataImport_EnumCustomAttributes      53 sptr,int,int,var,int,var
#comfunc global IMetaDataImport_GetCustomAttributeProps   54 int,var,var,sptr,var
#comfunc global IMetaDataImport_FindTypeRef               55 int,wstr,var
#comfunc global IMetaDataImport_GetMemberProps            56 int,var,var,int,var,var,var,var,var,var,var,sptr,var
#comfunc global IMetaDataImport_GetFieldProps             57 int,var,var,int,var,var,var,var,var,sptr,var
#comfunc global IMetaDataImport_GetPropertyProps          58 int,var,wstr,int,var,var,var,var,var,sptr,var,var,var,var,int,var
#comfunc global IMetaDataImport_GetParamProps             59 int,var,var,var,int,var,var,var,sptr,var
#comfunc global IMetaDataImport_GetCustomAttributeByName  60 int,wstr,sptr,var
#comfunc global IMetaDataImport_IsValidToken              61 int
#comfunc global IMetaDataImport_GetNestedClassProps       62 int,var
#comfunc global IMetaDataImport_GetNativeCallConvFromSig  63 sptr,int,var
#comfunc global IMetaDataImport_IsGlobal                  64 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。