ホーム › System.WinRT.Metadata › IMetaDataEmit
IMetaDataEmit
COMメソッド 49
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| szName | LPWSTR | in | モジュールに設定する名前を指定する文字列である。 |
| szFile | LPWSTR | in | メタデータの保存先ファイル名を指定する。NULL の場合は元のファイルに保存される。 |
| dwSaveFlags | DWORD | in | 保存時のオプションを示すフラグを指定する。予約済みで 0 を指定する。 |
| pIStream | IStream* | in | メタデータの書き込み先となる IStream へのポインタを指定する。 |
| dwSaveFlags | DWORD | in | 保存時のオプションを示すフラグを指定する。予約済みで 0 を指定する。 |
vtbl 6 HRESULT GetSaveSize(CorSaveSize fSave, DWORD* pdwSaveSize)
| fSave | CorSaveSize | in | 保存方法を示す CorSaveSize 列挙値を指定する。 |
| pdwSaveSize | DWORD* | inout | 保存に必要なバイト数を受け取る。 |
vtbl 7 HRESULT DefineTypeDef(LPWSTR szTypeDef, DWORD dwTypeDefFlags, DWORD tkExtends, DWORD* rtkImplements, DWORD* ptd)
| szTypeDef | LPWSTR | in | 定義する型の名前を指定する文字列である。 |
| dwTypeDefFlags | DWORD | in | 型の属性を示すフラグを指定する。 |
| tkExtends | DWORD | in | 基底クラスのトークンを指定する。なければ mdTypeDefNil を指定する。 |
| rtkImplements | DWORD* | inout | 実装するインターフェイスのトークン配列へのポインタである。mdTokenNil で終端する。 |
| ptd | DWORD* | inout | 定義された型を表す TypeDef トークンを受け取る。 |
vtbl 8 HRESULT DefineNestedType(LPWSTR szTypeDef, DWORD dwTypeDefFlags, DWORD tkExtends, DWORD* rtkImplements, DWORD tdEncloser, DWORD* ptd)
| szTypeDef | LPWSTR | in | 定義する入れ子型の名前を指定する文字列である。 |
| dwTypeDefFlags | DWORD | in | 型の属性を示すフラグを指定する。 |
| tkExtends | DWORD | in | 基底クラスのトークンを指定する。なければ mdTypeDefNil を指定する。 |
| rtkImplements | DWORD* | inout | 実装するインターフェイスのトークン配列へのポインタである。mdTokenNil で終端する。 |
| tdEncloser | DWORD | in | この入れ子型を内包する外側の型のトークンを指定する。 |
| ptd | DWORD* | inout | 定義された入れ子型を表す TypeDef トークンを受け取る。 |
| pUnk | IUnknown* | in | トークンの再マップ通知を受け取るハンドラーの IUnknown ポインタを指定する。 |
vtbl 10 HRESULT DefineMethod(DWORD td, LPWSTR szName, DWORD dwMethodFlags, BYTE* pvSigBlob, DWORD cbSigBlob, DWORD ulCodeRVA, DWORD dwImplFlags, DWORD* pmd)
| td | DWORD | in | メソッドを定義する対象の型 (TypeDef) のトークンを指定する。 |
| szName | LPWSTR | in | メソッドの名前を指定する文字列である。 |
| dwMethodFlags | DWORD | in | メソッドの属性を示すフラグを指定する。 |
| pvSigBlob | BYTE* | inout | メソッドのシグネチャを表すバイナリ blob へのポインタである。 |
| cbSigBlob | DWORD | in | シグネチャ blob のサイズをバイト数で指定する。 |
| ulCodeRVA | DWORD | in | メソッド本体コードの相対仮想アドレス (RVA) を指定する。 |
| dwImplFlags | DWORD | in | メソッド実装の属性を示すフラグを指定する。 |
| pmd | DWORD* | inout | 定義されたメソッドの MethodDef トークンを受け取る。 |
| td | DWORD | in | メソッド実装を定義する対象の型 (TypeDef) のトークンを指定する。 |
| tkBody | DWORD | in | 実装本体となるメソッドのトークンを指定する。 |
| tkDecl | DWORD | in | オーバーライドされる宣言側メソッドのトークンを指定する。 |
| tkResolutionScope | DWORD | in | 型参照の解決スコープ (モジュール参照やアセンブリ参照) のトークンを指定する。 |
| szName | LPWSTR | in | 参照する型の名前を指定する文字列である。 |
| ptr | DWORD* | inout | 定義された TypeRef トークンを受け取る。 |
vtbl 13 HRESULT DefineImportType(IMetaDataAssemblyImport* pAssemImport, void* pbHashValue, DWORD cbHashValue, IMetaDataImport* pImport, DWORD tdImport, IMetaDataAssemblyEmit* pAssemEmit, DWORD* ptr)
| pAssemImport | IMetaDataAssemblyImport* | in | インポート元のアセンブリメタデータを操作する IMetaDataAssemblyImport へのポインタである。NULL を指定できる。 |
| pbHashValue | void* | in | アセンブリのハッシュ値へのポインタである。 |
| cbHashValue | DWORD | in | ハッシュ値のサイズをバイト数で指定する。 |
| pImport | IMetaDataImport* | in | インポート元の型を保持する IMetaDataImport へのポインタである。 |
| tdImport | DWORD | in | インポートする型 (TypeDef) のトークンを指定する。 |
| pAssemEmit | IMetaDataAssemblyEmit* | in | 出力先のアセンブリメタデータを操作する IMetaDataAssemblyEmit へのポインタである。NULL を指定できる。 |
| ptr | DWORD* | inout | 作成された TypeRef トークンを受け取る。 |
vtbl 14 HRESULT DefineMemberRef(DWORD tkImport, LPWSTR szName, BYTE* pvSigBlob, DWORD cbSigBlob, DWORD* pmr)
| tkImport | DWORD | in | メンバー参照の対象となる型または親のトークンを指定する。 |
| szName | LPWSTR | in | 参照するメンバーの名前を指定する文字列である。 |
| pvSigBlob | BYTE* | inout | メンバーのシグネチャを表すバイナリ blob へのポインタである。 |
| cbSigBlob | DWORD | in | シグネチャ blob のサイズをバイト数で指定する。 |
| pmr | DWORD* | inout | 定義された MemberRef トークンを受け取る。 |
vtbl 15 HRESULT DefineImportMember(IMetaDataAssemblyImport* pAssemImport, void* pbHashValue, DWORD cbHashValue, IMetaDataImport* pImport, DWORD mbMember, IMetaDataAssemblyEmit* pAssemEmit, DWORD tkParent, DWORD* pmr)
| pAssemImport | IMetaDataAssemblyImport* | in | インポート元のアセンブリメタデータを操作する IMetaDataAssemblyImport へのポインタである。NULL を指定できる。 |
| pbHashValue | void* | in | アセンブリのハッシュ値へのポインタである。 |
| cbHashValue | DWORD | in | ハッシュ値のサイズをバイト数で指定する。 |
| pImport | IMetaDataImport* | in | インポート元のメンバーを保持する IMetaDataImport へのポインタである。 |
| mbMember | DWORD | in | インポートするメンバーのトークンを指定する。 |
| pAssemEmit | IMetaDataAssemblyEmit* | in | 出力先のアセンブリメタデータを操作する IMetaDataAssemblyEmit へのポインタである。NULL を指定できる。 |
| tkParent | DWORD | in | 出力先でのメンバーの親トークンを指定する。 |
| pmr | DWORD* | inout | 作成された MemberRef トークンを受け取る。 |
vtbl 16 HRESULT DefineEvent(DWORD td, LPWSTR szEvent, DWORD dwEventFlags, DWORD tkEventType, DWORD mdAddOn, DWORD mdRemoveOn, DWORD mdFire, DWORD* rmdOtherMethods, DWORD* pmdEvent)
| td | DWORD | in | イベントを定義する対象の型 (TypeDef) のトークンを指定する。 |
| szEvent | LPWSTR | in | イベントの名前を指定する文字列である。 |
| dwEventFlags | DWORD | in | イベントの属性を示すフラグを指定する。 |
| tkEventType | DWORD | in | イベントのデリゲート型を示すトークンを指定する。 |
| mdAddOn | DWORD | in | イベントの追加 (add) アクセサーメソッドのトークンを指定する。 |
| mdRemoveOn | DWORD | in | イベントの削除 (remove) アクセサーメソッドのトークンを指定する。 |
| mdFire | DWORD | in | イベントの発火 (fire) メソッドのトークンを指定する。なければ mdMethodDefNil を指定する。 |
| rmdOtherMethods | DWORD* | inout | イベントに関連するその他のメソッドのトークン配列へのポインタである。mdTokenNil で終端する。 |
| pmdEvent | DWORD* | inout | 定義された Event トークンを受け取る。 |
vtbl 17 HRESULT SetClassLayout(DWORD td, DWORD dwPackSize, COR_FIELD_OFFSET* rFieldOffsets, DWORD ulClassSize)
| td | DWORD | in | レイアウトを設定する対象の型 (TypeDef) のトークンを指定する。 |
| dwPackSize | DWORD | in | フィールドのパッキングサイズ (アラインメント) を指定する。 |
| rFieldOffsets | COR_FIELD_OFFSET* | inout | 各フィールドのオフセットを示す COR_FIELD_OFFSET 配列へのポインタである。 |
| ulClassSize | DWORD | in | クラス全体のサイズをバイト数で指定する。 |
| td | DWORD | in | クラスレイアウト情報を削除する対象の型 (TypeDef) のトークンを指定する。 |
| tk | DWORD | in | マーシャリング情報を設定する対象のフィールドまたはパラメーターのトークンを指定する。 |
| pvNativeType | BYTE* | inout | ネイティブ型のマーシャリング記述子へのポインタである。 |
| cbNativeType | DWORD | in | ネイティブ型記述子のサイズをバイト数で指定する。 |
| tk | DWORD | in | マーシャリング情報を削除する対象のフィールドまたはパラメーターのトークンを指定する。 |
vtbl 21 HRESULT DefinePermissionSet(DWORD tk, DWORD dwAction, void* pvPermission, DWORD cbPermission, DWORD* ppm)
| tk | DWORD | in | アクセス許可セットを関連付ける対象のトークンを指定する。 |
| dwAction | DWORD | in | セキュリティアクションの種別を指定する。 |
| pvPermission | void* | in | アクセス許可セットのバイナリデータへのポインタである。 |
| cbPermission | DWORD | in | アクセス許可セットデータのサイズをバイト数で指定する。 |
| ppm | DWORD* | inout | 定義された Permission トークンを受け取る。 |
| md | DWORD | in | RVA を設定する対象のメソッド (MethodDef) のトークンを指定する。 |
| ulRVA | DWORD | in | メソッド本体の相対仮想アドレス (RVA) を指定する。 |
| pvSig | BYTE* | inout | スタンドアロンシグネチャを表すバイナリ blob へのポインタである。 |
| cbSig | DWORD | in | シグネチャ blob のサイズをバイト数で指定する。 |
| pmsig | DWORD* | inout | シグネチャに対応する StandAloneSig トークンを受け取る。 |
| szName | LPWSTR | in | 参照するモジュールの名前を指定する文字列である。 |
| pmur | DWORD* | inout | 定義された ModuleRef トークンを受け取る。 |
| mr | DWORD | in | 親を設定する対象のメンバー参照 (MemberRef) のトークンを指定する。 |
| tk | DWORD | in | 新しい親のトークンを指定する。 |
| pvSig | BYTE* | inout | 型仕様 (TypeSpec) を表すシグネチャ blob へのポインタである。 |
| cbSig | DWORD | in | シグネチャ blob のサイズをバイト数で指定する。 |
| ptypespec | DWORD* | inout | 対応する TypeSpec トークンを受け取る。 |
| pbData | void* | inout | メタデータを書き込むメモリ領域へのポインタを指定する。 |
| cbData | DWORD | in | 書き込み先メモリ領域のサイズをバイト数で指定する。 |
| szString | LPWSTR | in | 定義するユーザー文字列を指定する。 |
| cchString | DWORD | in | 文字列の長さを文字数で指定する。 |
| pstk | DWORD* | inout | 定義された String トークンを受け取る。 |
| tkObj | DWORD | in | 削除する対象のメタデータトークンを指定する。 |
| md | DWORD | in | プロパティを更新する対象のメソッド (MethodDef) のトークンを指定する。 |
| dwMethodFlags | DWORD | in | メソッドの属性を示すフラグを指定する。変更しない場合は無効値を指定する。 |
| ulCodeRVA | DWORD | in | メソッド本体コードの相対仮想アドレス (RVA) を指定する。 |
| dwImplFlags | DWORD | in | メソッド実装の属性を示すフラグを指定する。 |
vtbl 31 HRESULT SetTypeDefProps(DWORD td, DWORD dwTypeDefFlags, DWORD tkExtends, DWORD* rtkImplements)
| td | DWORD | in | プロパティを更新する対象の型 (TypeDef) のトークンを指定する。 |
| dwTypeDefFlags | DWORD | in | 型の属性を示すフラグを指定する。 |
| tkExtends | DWORD | in | 基底クラスのトークンを指定する。 |
| rtkImplements | DWORD* | inout | 実装するインターフェイスのトークン配列へのポインタである。mdTokenNil で終端する。 |
vtbl 32 HRESULT SetEventProps(DWORD ev, DWORD dwEventFlags, DWORD tkEventType, DWORD mdAddOn, DWORD mdRemoveOn, DWORD mdFire, DWORD* rmdOtherMethods)
| ev | DWORD | in | プロパティを更新する対象のイベント (Event) のトークンを指定する。 |
| dwEventFlags | DWORD | in | イベントの属性を示すフラグを指定する。 |
| tkEventType | DWORD | in | イベントのデリゲート型を示すトークンを指定する。 |
| mdAddOn | DWORD | in | イベントの追加 (add) アクセサーメソッドのトークンを指定する。 |
| mdRemoveOn | DWORD | in | イベントの削除 (remove) アクセサーメソッドのトークンを指定する。 |
| mdFire | DWORD | in | イベントの発火 (fire) メソッドのトークンを指定する。 |
| rmdOtherMethods | DWORD* | inout | イベントに関連するその他のメソッドのトークン配列へのポインタである。mdTokenNil で終端する。 |
vtbl 33 HRESULT SetPermissionSetProps(DWORD tk, DWORD dwAction, void* pvPermission, DWORD cbPermission, DWORD* ppm)
| tk | DWORD | in | プロパティを更新する対象のトークンを指定する。 |
| dwAction | DWORD | in | セキュリティアクションの種別を指定する。 |
| pvPermission | void* | in | アクセス許可セットのバイナリデータへのポインタである。 |
| cbPermission | DWORD | in | アクセス許可セットデータのサイズをバイト数で指定する。 |
| ppm | DWORD* | inout | Permission トークンを受け取る。 |
vtbl 34 HRESULT DefinePinvokeMap(DWORD tk, DWORD dwMappingFlags, LPWSTR szImportName, DWORD mrImportDLL)
| tk | DWORD | in | P/Invoke マップを定義する対象のフィールドまたはメソッドのトークンを指定する。 |
| dwMappingFlags | DWORD | in | P/Invoke のマッピング属性を示すフラグを指定する。 |
| szImportName | LPWSTR | in | インポートするネイティブ関数の名前を指定する文字列である。 |
| mrImportDLL | DWORD | in | 対象 DLL を示す ModuleRef トークンを指定する。 |
vtbl 35 HRESULT SetPinvokeMap(DWORD tk, DWORD dwMappingFlags, LPWSTR szImportName, DWORD mrImportDLL)
| tk | DWORD | in | P/Invoke マップを更新する対象のフィールドまたはメソッドのトークンを指定する。 |
| dwMappingFlags | DWORD | in | P/Invoke のマッピング属性を示すフラグを指定する。 |
| szImportName | LPWSTR | in | インポートするネイティブ関数の名前を指定する文字列である。 |
| mrImportDLL | DWORD | in | 対象 DLL を示す ModuleRef トークンを指定する。 |
| tk | DWORD | in | P/Invoke マップ情報を削除する対象のフィールドまたはメソッドのトークンを指定する。 |
vtbl 37 HRESULT DefineCustomAttribute(DWORD tkOwner, DWORD tkCtor, void* pCustomAttribute, DWORD cbCustomAttribute, DWORD* pcv)
| tkOwner | DWORD | in | カスタム属性を付与する対象のトークンを指定する。 |
| tkCtor | DWORD | in | カスタム属性のコンストラクターを示すトークンを指定する。 |
| pCustomAttribute | void* | in | カスタム属性のバイナリ値 (blob) へのポインタである。 |
| cbCustomAttribute | DWORD | in | カスタム属性 blob のサイズをバイト数で指定する。 |
| pcv | DWORD* | inout | 定義された CustomAttribute トークンを受け取る。 |
| pcv | DWORD | in | 値を更新する対象のカスタム属性 (CustomAttribute) のトークンを指定する。 |
| pCustomAttribute | void* | in | カスタム属性のバイナリ値 (blob) へのポインタである。 |
| cbCustomAttribute | DWORD | in | カスタム属性 blob のサイズをバイト数で指定する。 |
vtbl 39 HRESULT DefineField(DWORD td, LPWSTR szName, DWORD dwFieldFlags, BYTE* pvSigBlob, DWORD cbSigBlob, DWORD dwCPlusTypeFlag, void* pValue, DWORD cchValue, DWORD* pmd)
| td | DWORD | in | フィールドを定義する対象の型 (TypeDef) のトークンを指定する。 |
| szName | LPWSTR | in | フィールドの名前を指定する文字列である。 |
| dwFieldFlags | DWORD | in | フィールドの属性を示すフラグを指定する。 |
| pvSigBlob | BYTE* | inout | フィールドのシグネチャを表すバイナリ blob へのポインタである。 |
| cbSigBlob | DWORD | in | シグネチャ blob のサイズをバイト数で指定する。 |
| dwCPlusTypeFlag | DWORD | in | 既定値の要素型を示す ELEMENT_TYPE 値を指定する。 |
| pValue | void* | in | フィールドの既定値へのポインタである。なければ NULL を指定する。 |
| cchValue | DWORD | in | 既定値が文字列の場合の文字数を指定する。 |
| pmd | DWORD* | inout | 定義された FieldDef トークンを受け取る。 |
vtbl 40 HRESULT DefineProperty(DWORD td, LPWSTR szProperty, DWORD dwPropFlags, BYTE* pvSig, DWORD cbSig, DWORD dwCPlusTypeFlag, void* pValue, DWORD cchValue, DWORD mdSetter, DWORD mdGetter, DWORD* rmdOtherMethods, DWORD* pmdProp)
| td | DWORD | in | プロパティを定義する対象の型 (TypeDef) のトークンを指定する。 |
| szProperty | LPWSTR | in | プロパティの名前を指定する文字列である。 |
| dwPropFlags | DWORD | in | プロパティの属性を示すフラグを指定する。 |
| pvSig | BYTE* | inout | プロパティのシグネチャを表すバイナリ blob へのポインタである。 |
| cbSig | DWORD | in | シグネチャ blob のサイズをバイト数で指定する。 |
| dwCPlusTypeFlag | DWORD | in | 既定値の要素型を示す ELEMENT_TYPE 値を指定する。 |
| pValue | void* | in | プロパティの既定値へのポインタである。なければ NULL を指定する。 |
| cchValue | DWORD | in | 既定値が文字列の場合の文字数を指定する。 |
| mdSetter | DWORD | in | プロパティの設定 (set) アクセサーメソッドのトークンを指定する。 |
| mdGetter | DWORD | in | プロパティの取得 (get) アクセサーメソッドのトークンを指定する。 |
| rmdOtherMethods | DWORD* | inout | プロパティに関連するその他のメソッドのトークン配列へのポインタである。mdTokenNil で終端する。 |
| pmdProp | DWORD* | inout | 定義された Property トークンを受け取る。 |
vtbl 41 HRESULT DefineParam(DWORD md, DWORD ulParamSeq, LPWSTR szName, DWORD dwParamFlags, DWORD dwCPlusTypeFlag, void* pValue, DWORD cchValue, DWORD* ppd)
| md | DWORD | in | パラメーターを定義する対象のメソッド (MethodDef) のトークンを指定する。 |
| ulParamSeq | DWORD | in | パラメーターの順序位置を指定する。0 は戻り値を表す。 |
| szName | LPWSTR | in | パラメーターの名前を指定する文字列である。 |
| dwParamFlags | DWORD | in | パラメーターの属性を示すフラグを指定する。 |
| dwCPlusTypeFlag | DWORD | in | 既定値の要素型を示す ELEMENT_TYPE 値を指定する。 |
| pValue | void* | in | パラメーターの既定値へのポインタである。なければ NULL を指定する。 |
| cchValue | DWORD | in | 既定値が文字列の場合の文字数を指定する。 |
| ppd | DWORD* | inout | 定義された Param トークンを受け取る。 |
vtbl 42 HRESULT SetFieldProps(DWORD fd, DWORD dwFieldFlags, DWORD dwCPlusTypeFlag, void* pValue, DWORD cchValue)
| fd | DWORD | in | プロパティを更新する対象のフィールド (FieldDef) のトークンを指定する。 |
| dwFieldFlags | DWORD | in | フィールドの属性を示すフラグを指定する。 |
| dwCPlusTypeFlag | DWORD | in | 既定値の要素型を示す ELEMENT_TYPE 値を指定する。 |
| pValue | void* | in | フィールドの既定値へのポインタである。なければ NULL を指定する。 |
| cchValue | DWORD | in | 既定値が文字列の場合の文字数を指定する。 |
vtbl 43 HRESULT SetPropertyProps(DWORD pr, DWORD dwPropFlags, DWORD dwCPlusTypeFlag, void* pValue, DWORD cchValue, DWORD mdSetter, DWORD mdGetter, DWORD* rmdOtherMethods)
| pr | DWORD | in | プロパティを更新する対象のプロパティ (Property) のトークンを指定する。 |
| dwPropFlags | DWORD | in | プロパティの属性を示すフラグを指定する。 |
| dwCPlusTypeFlag | DWORD | in | 既定値の要素型を示す ELEMENT_TYPE 値を指定する。 |
| pValue | void* | in | プロパティの既定値へのポインタである。なければ NULL を指定する。 |
| cchValue | DWORD | in | 既定値が文字列の場合の文字数を指定する。 |
| mdSetter | DWORD | in | プロパティの設定 (set) アクセサーメソッドのトークンを指定する。 |
| mdGetter | DWORD | in | プロパティの取得 (get) アクセサーメソッドのトークンを指定する。 |
| rmdOtherMethods | DWORD* | inout | プロパティに関連するその他のメソッドのトークン配列へのポインタである。mdTokenNil で終端する。 |
vtbl 44 HRESULT SetParamProps(DWORD pd, LPWSTR szName, DWORD dwParamFlags, DWORD dwCPlusTypeFlag, void* pValue, DWORD cchValue)
| pd | DWORD | in | プロパティを更新する対象のパラメーター (Param) のトークンを指定する。 |
| szName | LPWSTR | in | パラメーターの名前を指定する文字列である。 |
| dwParamFlags | DWORD | in | パラメーターの属性を示すフラグを指定する。 |
| dwCPlusTypeFlag | DWORD | in | 既定値の要素型を示す ELEMENT_TYPE 値を指定する。 |
| pValue | void* | in | パラメーターの既定値へのポインタである。なければ NULL を指定する。 |
| cchValue | DWORD | in | 既定値が文字列の場合の文字数を指定する。 |
vtbl 45 HRESULT DefineSecurityAttributeSet(DWORD tkObj, COR_SECATTR* rSecAttrs, DWORD cSecAttrs, DWORD* pulErrorAttr)
| tkObj | DWORD | in | セキュリティ属性を関連付ける対象のトークンを指定する。 |
| rSecAttrs | COR_SECATTR* | inout | セキュリティ属性を示す COR_SECATTR 配列へのポインタである。 |
| cSecAttrs | DWORD | in | セキュリティ属性配列の要素数を指定する。 |
| pulErrorAttr | DWORD* | inout | エラーが発生した属性のインデックスを受け取る。 |
| pImport | IUnknown* | in | 差分 (デルタ) メタデータを保持するインポーターの IUnknown ポインタを指定する。 |
vtbl 47 HRESULT TranslateSigWithScope(IMetaDataAssemblyImport* pAssemImport, void* pbHashValue, DWORD cbHashValue, IMetaDataImport* import, BYTE* pbSigBlob, DWORD cbSigBlob, IMetaDataAssemblyEmit* pAssemEmit, IMetaDataEmit* emit, BYTE* pvTranslatedSig, DWORD cbTranslatedSigMax, DWORD* pcbTranslatedSig)
| pAssemImport | IMetaDataAssemblyImport* | in | インポート元のアセンブリメタデータを操作する IMetaDataAssemblyImport へのポインタである。NULL を指定できる。 |
| pbHashValue | void* | in | アセンブリのハッシュ値へのポインタである。 |
| cbHashValue | DWORD | in | ハッシュ値のサイズをバイト数で指定する。 |
| import | IMetaDataImport* | in | シグネチャの元となるスコープの IMetaDataImport へのポインタである。 |
| pbSigBlob | BYTE* | inout | 変換対象のシグネチャ blob へのポインタである。 |
| cbSigBlob | DWORD | in | シグネチャ blob のサイズをバイト数で指定する。 |
| pAssemEmit | IMetaDataAssemblyEmit* | in | 出力先のアセンブリメタデータを操作する IMetaDataAssemblyEmit へのポインタである。NULL を指定できる。 |
| emit | IMetaDataEmit* | in | 出力先スコープの IMetaDataEmit へのポインタである。 |
| pvTranslatedSig | BYTE* | inout | 変換後のシグネチャを格納するバッファへのポインタである。 |
| cbTranslatedSigMax | DWORD | in | 変換後シグネチャ用バッファの最大サイズをバイト数で指定する。 |
| pcbTranslatedSig | DWORD* | inout | 変換後シグネチャの実際のサイズをバイト数で受け取る。 |
| md | DWORD | in | 実装フラグを設定する対象のメソッド (MethodDef) のトークンを指定する。 |
| dwImplFlags | DWORD | in | メソッド実装の属性を示すフラグを指定する。 |
| fd | DWORD | in | RVA を設定する対象のフィールド (FieldDef) のトークンを指定する。 |
| ulRVA | DWORD | in | フィールドデータの相対仮想アドレス (RVA) を指定する。 |
vtbl 50 HRESULT Merge(IMetaDataImport* pImport, IMapToken* pHostMapToken, IUnknown* pHandler)
| pImport | IMetaDataImport* | in | マージ元のメタデータを保持する IMetaDataImport へのポインタである。 |
| pHostMapToken | IMapToken* | in | トークンの再マップを行う IMapToken へのポインタである。NULL を指定できる。 |
| pHandler | IUnknown* | in | マージ時のエラー通知を受け取るハンドラーの IUnknown ポインタである。NULL を指定できる。 |
vtbl 51 HRESULT MergeEnd()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IMetaDataEmit "{BA3FEE4C-ECB9-4E41-83B7-183FA41CD859}" #usecom global IMetaDataEmit IID_IMetaDataEmit "{}" #comfunc global IMetaDataEmit_SetModuleProps 3 wstr #comfunc global IMetaDataEmit_Save 4 wstr,int #comfunc global IMetaDataEmit_SaveToStream 5 sptr,int #comfunc global IMetaDataEmit_GetSaveSize 6 int,var #comfunc global IMetaDataEmit_DefineTypeDef 7 wstr,int,int,var,var #comfunc global IMetaDataEmit_DefineNestedType 8 wstr,int,int,var,int,var #comfunc global IMetaDataEmit_SetHandler 9 sptr #comfunc global IMetaDataEmit_DefineMethod 10 int,wstr,int,var,int,int,int,var #comfunc global IMetaDataEmit_DefineMethodImpl 11 int,int,int #comfunc global IMetaDataEmit_DefineTypeRefByName 12 int,wstr,var #comfunc global IMetaDataEmit_DefineImportType 13 sptr,sptr,int,sptr,int,sptr,var #comfunc global IMetaDataEmit_DefineMemberRef 14 int,wstr,var,int,var #comfunc global IMetaDataEmit_DefineImportMember 15 sptr,sptr,int,sptr,int,sptr,int,var #comfunc global IMetaDataEmit_DefineEvent 16 int,wstr,int,int,int,int,int,var,var #comfunc global IMetaDataEmit_SetClassLayout 17 int,int,var,int #comfunc global IMetaDataEmit_DeleteClassLayout 18 int #comfunc global IMetaDataEmit_SetFieldMarshal 19 int,var,int #comfunc global IMetaDataEmit_DeleteFieldMarshal 20 int #comfunc global IMetaDataEmit_DefinePermissionSet 21 int,int,sptr,int,var #comfunc global IMetaDataEmit_SetRVA 22 int,int #comfunc global IMetaDataEmit_GetTokenFromSig 23 var,int,var #comfunc global IMetaDataEmit_DefineModuleRef 24 wstr,var #comfunc global IMetaDataEmit_SetParent 25 int,int #comfunc global IMetaDataEmit_GetTokenFromTypeSpec 26 var,int,var #comfunc global IMetaDataEmit_SaveToMemory 27 sptr,int #comfunc global IMetaDataEmit_DefineUserString 28 wstr,int,var #comfunc global IMetaDataEmit_DeleteToken 29 int #comfunc global IMetaDataEmit_SetMethodProps 30 int,int,int,int #comfunc global IMetaDataEmit_SetTypeDefProps 31 int,int,int,var #comfunc global IMetaDataEmit_SetEventProps 32 int,int,int,int,int,int,var #comfunc global IMetaDataEmit_SetPermissionSetProps 33 int,int,sptr,int,var #comfunc global IMetaDataEmit_DefinePinvokeMap 34 int,int,wstr,int #comfunc global IMetaDataEmit_SetPinvokeMap 35 int,int,wstr,int #comfunc global IMetaDataEmit_DeletePinvokeMap 36 int #comfunc global IMetaDataEmit_DefineCustomAttribute 37 int,int,sptr,int,var #comfunc global IMetaDataEmit_SetCustomAttributeValue 38 int,sptr,int #comfunc global IMetaDataEmit_DefineField 39 int,wstr,int,var,int,int,sptr,int,var #comfunc global IMetaDataEmit_DefineProperty 40 int,wstr,int,var,int,int,sptr,int,int,int,var,var #comfunc global IMetaDataEmit_DefineParam 41 int,int,wstr,int,int,sptr,int,var #comfunc global IMetaDataEmit_SetFieldProps 42 int,int,int,sptr,int #comfunc global IMetaDataEmit_SetPropertyProps 43 int,int,int,sptr,int,int,int,var #comfunc global IMetaDataEmit_SetParamProps 44 int,wstr,int,int,sptr,int #comfunc global IMetaDataEmit_DefineSecurityAttributeSet 45 int,var,int,var #comfunc global IMetaDataEmit_ApplyEditAndContinue 46 sptr #comfunc global IMetaDataEmit_TranslateSigWithScope 47 sptr,sptr,int,sptr,var,int,sptr,sptr,var,int,var #comfunc global IMetaDataEmit_SetMethodImplFlags 48 int,int #comfunc global IMetaDataEmit_SetFieldRVA 49 int,int #comfunc global IMetaDataEmit_Merge 50 sptr,sptr,sptr #comfunc global IMetaDataEmit_MergeEnd 51 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMetaDataEmit "{BA3FEE4C-ECB9-4E41-83B7-183FA41CD859}" #usecom global IMetaDataEmit IID_IMetaDataEmit "{}" #comfunc global IMetaDataEmit_SetModuleProps 3 wstr #comfunc global IMetaDataEmit_Save 4 wstr,int #comfunc global IMetaDataEmit_SaveToStream 5 sptr,int #comfunc global IMetaDataEmit_GetSaveSize 6 int,sptr #comfunc global IMetaDataEmit_DefineTypeDef 7 wstr,int,int,sptr,sptr #comfunc global IMetaDataEmit_DefineNestedType 8 wstr,int,int,sptr,int,sptr #comfunc global IMetaDataEmit_SetHandler 9 sptr #comfunc global IMetaDataEmit_DefineMethod 10 int,wstr,int,sptr,int,int,int,sptr #comfunc global IMetaDataEmit_DefineMethodImpl 11 int,int,int #comfunc global IMetaDataEmit_DefineTypeRefByName 12 int,wstr,sptr #comfunc global IMetaDataEmit_DefineImportType 13 sptr,sptr,int,sptr,int,sptr,sptr #comfunc global IMetaDataEmit_DefineMemberRef 14 int,wstr,sptr,int,sptr #comfunc global IMetaDataEmit_DefineImportMember 15 sptr,sptr,int,sptr,int,sptr,int,sptr #comfunc global IMetaDataEmit_DefineEvent 16 int,wstr,int,int,int,int,int,sptr,sptr #comfunc global IMetaDataEmit_SetClassLayout 17 int,int,sptr,int #comfunc global IMetaDataEmit_DeleteClassLayout 18 int #comfunc global IMetaDataEmit_SetFieldMarshal 19 int,sptr,int #comfunc global IMetaDataEmit_DeleteFieldMarshal 20 int #comfunc global IMetaDataEmit_DefinePermissionSet 21 int,int,sptr,int,sptr #comfunc global IMetaDataEmit_SetRVA 22 int,int #comfunc global IMetaDataEmit_GetTokenFromSig 23 sptr,int,sptr #comfunc global IMetaDataEmit_DefineModuleRef 24 wstr,sptr #comfunc global IMetaDataEmit_SetParent 25 int,int #comfunc global IMetaDataEmit_GetTokenFromTypeSpec 26 sptr,int,sptr #comfunc global IMetaDataEmit_SaveToMemory 27 sptr,int #comfunc global IMetaDataEmit_DefineUserString 28 wstr,int,sptr #comfunc global IMetaDataEmit_DeleteToken 29 int #comfunc global IMetaDataEmit_SetMethodProps 30 int,int,int,int #comfunc global IMetaDataEmit_SetTypeDefProps 31 int,int,int,sptr #comfunc global IMetaDataEmit_SetEventProps 32 int,int,int,int,int,int,sptr #comfunc global IMetaDataEmit_SetPermissionSetProps 33 int,int,sptr,int,sptr #comfunc global IMetaDataEmit_DefinePinvokeMap 34 int,int,wstr,int #comfunc global IMetaDataEmit_SetPinvokeMap 35 int,int,wstr,int #comfunc global IMetaDataEmit_DeletePinvokeMap 36 int #comfunc global IMetaDataEmit_DefineCustomAttribute 37 int,int,sptr,int,sptr #comfunc global IMetaDataEmit_SetCustomAttributeValue 38 int,sptr,int #comfunc global IMetaDataEmit_DefineField 39 int,wstr,int,sptr,int,int,sptr,int,sptr #comfunc global IMetaDataEmit_DefineProperty 40 int,wstr,int,sptr,int,int,sptr,int,int,int,sptr,sptr #comfunc global IMetaDataEmit_DefineParam 41 int,int,wstr,int,int,sptr,int,sptr #comfunc global IMetaDataEmit_SetFieldProps 42 int,int,int,sptr,int #comfunc global IMetaDataEmit_SetPropertyProps 43 int,int,int,sptr,int,int,int,sptr #comfunc global IMetaDataEmit_SetParamProps 44 int,wstr,int,int,sptr,int #comfunc global IMetaDataEmit_DefineSecurityAttributeSet 45 int,sptr,int,sptr #comfunc global IMetaDataEmit_ApplyEditAndContinue 46 sptr #comfunc global IMetaDataEmit_TranslateSigWithScope 47 sptr,sptr,int,sptr,sptr,int,sptr,sptr,sptr,int,sptr #comfunc global IMetaDataEmit_SetMethodImplFlags 48 int,int #comfunc global IMetaDataEmit_SetFieldRVA 49 int,int #comfunc global IMetaDataEmit_Merge 50 sptr,sptr,sptr #comfunc global IMetaDataEmit_MergeEnd 51 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。