更新 : 2007 年 11 月
現在定義されているスコープ内のアセンブリについてのメタデータを作成、変更、および保存するメソッドを提供します。メタデータは、メモリ内に格納されるか、ディスクに保存されるかのいずれかです。
interface IMetaDataEmit : IUnknown {
HRESULT ApplyEditAndContinue (
[in] IUnknown *pImport
);
HRESULT DefineCustomAttribute (
[in] mdToken tkObj,
[in] mdToken tkType,
[in] void const *pCustomAttribute,
[in] ULONG cbCustomAttribute,
[out] mdCustomAttribute *pcv
);
HRESULT DefineEvent (
[in] mdTypeDef td,
[in] LPCWSTR szEvent,
[in] DWORD dwEventFlags,
[in] mdToken tkEventType,
[in] mdMethodDef mdAddOn,
[in] mdMethodDef mdRemoveOn,
[in] mdMethodDef mdFire,
[in] mdMethodDef rmdOtherMethods[],
[out] mdEvent *pmdEvent
);
HRESULT DefineField (
[in] mdTypeDef td,
[in] LPCWSTR szName,
[in] DWORD dwFieldFlags,
[in] PCCOR_SIGNATURE pvSigBlob,
[in] ULONG cbSigBlob,
[in] DWORD dwCPlusTypeFlag,
[in] void const *pValue,
[in] ULONG cchValue,
[out] mdFieldDef *pmd
);
HRESULT DefineImportMember (
[in] IMetaDataAssemblyImport *pAssemImport,
[in] const void *pbHashValue,
[in] ULONG cbHashValue,
[in] IMetaDataImport *pImport,
[in] mdToken mbMember,
[in] IMetaDataAssemblyEmit *pAssemEmit,
[in] mdToken tkParent,
[out] mdMemberRef *pmr
);
HRESULT DefineImportType (
[in] IMetaDataAssemblyImport *pAssemImport,
[in] const void *pbHashValue,
[in] ULONG cbHashValue,
[in] IMetaDataImport *pImport,
[in] mdTypeDef tdImport,
[in] IMetaDataAssemblyEmit *pAssemEmit,
[out] mdTypeRef *ptr
);
HRESULT DefineMemberRef (
[in] mdToken tkImport,
[in] LPCWSTR szName,
[in] PCCOR_SIGNATURE pvSigBlob,
[in] ULONG cbSigBlob,
[out] mdMemberRef *pmr
);
HRESULT DefineMethod (
[in] mdTypeDef td,
[in] LPCWSTR szName,
[in] DWORD dwMethodFlags,
[in] PCCOR_SIGNATURE pvSigBlob,
[in] ULONG cbSigBlob,
[in] ULONG ulCodeRVA,
[in] DWORD dwImplFlags,
[out] mdMethodDef *pmd
);
HRESULT DefineMethodImpl (
[in] mdTypeDef td,
[in] mdToken tkBody,
[in] mdToken tkDecl
);
HRESULT DefineModuleRef (
[in] LPCWSTR szName,
[out] mdModuleRef *pmur
);
HRESULT DefineNestedType (
[in] LPCWSTR szTypeDef,
[in] DWORD dwTypeDefFlags,
[in] mdToken tkExtends,
[in] mdToken rtkImplements[],
[in] mdTypeDef tdEncloser,
[out] mdTypeDef *ptd
);
HRESULT DefineParam (
[in] mdMethodDef md,
[in] ULONG ulParamSeq,
[in] LPCWSTR szName,
[in] DWORD dwParamFlags,
[in] DWORD dwCPlusTypeFlag,
[in] void const *pValue,
[in] ULONG cchValue,
[out] mdParamDef *ppd
);
HRESULT DefinePermissionSet (
[in] mdToken tk,
[in] DWORD dwAction,
[in] void const *pvPermission,
[in] ULONG cbPermission,
[out] mdPermission *ppm
);
HRESULT DefinePinvokeMap (
[in] mdToken tk,
[in] DWORD dwMappingFlags,
[in] LPCWSTR szImportName,
[in] mdModuleRef mrImportDLL
);
HRESULT DefineProperty (
[in] mdTypeDef td,
[in] LPCWSTR szProperty,
[in] DWORD dwPropFlags,
[in] PCCOR_SIGNATURE pvSig,
[in] ULONG cbSig,
[in] DWORD dwCPlusTypeFlag,
[in] void const *pValue,
[in] ULONG cchValue,
[in] mdMethodDef mdSetter,
[in] mdMethodDef mdGetter,
[in] mdMethodDef rmdOtherMethods[],
[out] mdProperty *pmdProp
);
HRESULT DefineSecurityAttributeSet (
[in] mdToken tkObj,
[in] COR_SECATTR rSecAttrs[],
[in] ULONG cSecAttrs,
[out] ULONG *pulErrorAttr
);
HRESULT DefineTypeDef (
[in] LPCWSTR szTypeDef,
[in] DWORD dwTypeDefFlags,
[in] mdToken tkExtends,
[in] mdToken rtkImplements[],
[out] mdTypeDef *ptd
);
HRESULT DefineTypeRefByName (
[in] mdToken tkResolutionScope,
[in] LPCWSTR szName,
[out] mdTypeRef *ptr
);
HRESULT DefineUserString (
[in] LPCWSTR szString,
[in] ULONG cchString,
[out] mdString *pstk
);
HRESULT DeleteClassLayout (
[in] mdTypeDef td
);
HRESULT DeleteFieldMarshal (
[in] mdToken tk
);
HRESULT DeletePinvokeMap (
[in] mdToken tk
);
HRESULT DeleteToken (
[in] mdToken tkObj
);
HRESULT GetSaveSize (
[in] CorSaveSize fSave,
[out] DWORD *pdwSaveSize
);
HRESULT GetTokenFromSig (
[in] PCCOR_SIGNATURE pvSig,
[in] ULONG cbSig,
[out] mdSignature *pmsig
);
HRESULT GetTokenFromTypeSpec (
[in] PCCOR_SIGNATURE pvSig,
[in] ULONG cbSig,
[out] mdTypeSpec *ptypespec
);
HRESULT Merge (
[in] IMetaDataImport *pImport,
[in] IMapToken *pHostMapToken,
[in] IUnknown *pHandler
);
HRESULT MergeEnd ();
HRESULT Save (
[in] LPCWSTR szFile,
[in] DWORD dwSaveFlags
);
HRESULT SaveToMemory (
[in] void *pbData,
[in] ULONG cbData
);
HRESULT SaveToStream (
[in] IStream *pIStream,
[in] DWORD dwSaveFlags
);
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
HRESULT SetCustomAttributeValue (
[in] mdCustomAttribute pcv,
[in] void const *pCustomAttribute,
[in] ULONG cbCustomAttribute
);
HRESULT SetEventProps (
[in] mdEvent ev,
[in] DWORD dwEventFlags,
[in] mdToken tkEventType,
[in] mdMethodDef mdAddOn,
[in] mdMethodDef mdRemoveOn,
[in] mdMethodDef mdFire,
[in] mdMethodDef rmdOtherMethods[]
);
HRESULT SetFieldMarshal (
[in] mdToken tk,
[in] PCCOR_SIGNATURE pvNativeType,
[in] ULONG cbNativeType
);
HRESULT SetFieldProps (
[in] mdFieldDef fd,
[in] DWORD dwFieldFlags,
[in] DWORD dwCPlusTypeFlag,
[in] void const *pValue,
[in] ULONG cchValue
);
HRESULT SetFieldRVA (
[in] mdFieldDef fd,
[in] ULONG ulRVA
);
HRESULT SetHandler (
[in] IUnknown *pUnk
);
HRESULT SetMethodProps (
[in] mdMethodDef md,
[in] DWORD dwMethodFlags,
[in] ULONG ulCodeRVA,
[in] DWORD dwImplFlags
);
HRESULT SetMethodImplFlags (
[in] mdMethodDef md,
[in] DWORD dwImplFlags
);
HRESULT SetModuleProps (
[in] LPCWSTR szName
);
HRESULT SetParamProps (
[in] mdParamDef pd,
[in] LPCWSTR szName,
[in] DWORD dwParamFlags,
[in] DWORD dwCPlusTypeFlag,
[in] void const *pValue,
[in] ULONG cchValue
);
HRESULT SetParent (
[in] mdMemberRef mr,
[in] mdToken tk
);
HRESULT SetPermissionSetProps (
[in] mdToken tk,
[in] DWORD dwAction,
[in] void const *pvPermission,
[in] ULONG cbPermission,
[out] mdPermission *ppm
);
HRESULT SetPinvokeMap (
[in] mdToken tk,
[in] DWORD dwMappingFlags,
[in] LPCWSTR szImportName,
[in] mdModuleRef mrImportDLL
);
HRESULT SetPropertyProps (
[in] mdProperty pr,
[in] DWORD dwPropFlags,
[in] DWORD dwCPlusTypeFlag,
[in] void const *pValue,
[in] ULONG cchValue,
[in] mdMethodDef mdSetter,
[in] mdMethodDef mdGetter,
[in] mdMethodDef rmdOtherMethods[]
);
HRESULT SetRVA (
[in] mdMethodDef md,
[in] ULONG ulRVA
);
HRESULT SetTypeDefProps (
[in] mdTypeDef td,
[in] DWORD dwTypeDefFlags,
[in] mdToken tkExtends,
[in] mdToken rtkImplements[]
);
HRESULT TranslateSigWithScope (
[in] IMetaDataAssemblyImport *pAssemImport,
[in] const void *pbHashValue,
[in] ULONG cbHashValue,
[in] IMetaDataImport *import,
[in] PCCOR_SIGNATURE pbSigBlob,
[in] ULONG cbSigBlob,
[in] IMetaDataAssemblyEmit *pAssemEmit,
[in] IMetaDataEmit *emit,
[out] PCOR_SIGNATURE pvTranslatedSig,
[in] ULONG cbTranslatedSigMax,
[out] ULONG *pcbTranslatedSig
);
};
メソッド
メソッド |
説明 |
---|---|
指定した pImport で行われた変更で、現在のアセンブリ スコープを更新します。 |
|
指定したメタデータ シグネチャを持つカスタム属性の定義を、指定したオブジェクトにアタッチされるように作成し、そのカスタム属性定義へのトークンを取得します。 |
|
指定したメタデータ シグネチャを持つイベントの定義を作成し、そのイベント定義のトークンを取得します。 |
|
指定したメタデータ シグネチャを持つフィールドの定義を作成し、そのフィールド定義のトークンを取得します。 |
|
現在のスコープ外にあるモジュールで定義されている型のメンバについての定義を作成し、その参照定義のトークンを取得します。 |
|
現在のスコープ外にあるモジュールで定義されている型への参照についての定義を作成し、その参照定義のトークンを取得します。 |
|
現在のスコープ外にあるモジュールのメンバへの参照についての定義を作成し、その参照定義のトークンを取得します。 |
|
指定したシグネチャでメソッドの定義を作成し、そのメソッド定義にトークンを返します。 |
|
インターフェイスから継承されるメソッドの実装定義を作成し、作成したメソッド実装定義にトークンを返します。 |
|
指定した名前のモジュールのメタデータ シグネチャを作成します。 |
|
型定義のメタデータ シグネチャを作成し、その型の mdTypeDef トークンを返します。また、定義した型が tdEncloser によって参照される型のメンバであることも指定します。 |
|
指定したトークンが参照するメソッドに対する指定した署名を持つパラメータの定義を作成し、そのパラメータ定義のトークンを取得します。 |
|
指定したメタデータ シグネチャを持つアクセス許可セットの定義を作成し、そのアクセス許可セット定義のトークンを取得します。 |
|
指定したトークンによって参照されるメソッドの PInvoke シグネチャの機能を設定します。 |
|
指定した型に対するプロパティ定義を、get メソッド アクセサおよび set メソッド アクセサを指定して作成し、そのプロパティ定義のトークンを取得します。 |
|
指定したトークンによって参照されるオブジェクトに割り当てるセキュリティ アクセス許可のセットを作成します。 |
|
共通言語ランタイムの型の型定義を作成し、その型定義のメタデータ トークンを取得します。 |
|
現在のスコープ外にある別のモジュールで定義されている型のメタデータ トークンを取得します。 |
|
指定したリテラル文字列のメタデータ トークンを取得します。 |
|
指定したトークンによって参照される型のクラス レイアウト メタデータ シグネチャを破棄します。 |
|
指定したトークンによって参照されるオブジェクトの PInvoke マーシャリング メタデータ シグネチャを破棄します。 |
|
指定したトークンによって参照されるオブジェクトの PInvoke マップ メタデータを破棄します。 |
|
指定したトークンを現在のメタデータ スコープから削除します。 |
|
現在のスコープ内のアセンブリの推定バイナリ サイズを取得します。 |
|
指定したメタデータ シグネチャのトークンを取得します。 |
|
指定したメタデータ シグネチャを持つ型のメタデータ トークンを取得します。 |
|
指定したインポート済みのスコープを、マージされるスコープの一覧に追加します。 |
|
前の 1 つ以上の IMetaDataEmit::Merge 呼び出しで指定されたすべてのメタデータ スコープを現在のスコープにマージします。 |
|
現在のスコープ内のすべてのメタデータを、指定したアドレスにあるファイルに保存します。 |
|
現在のスコープ内のすべてのメタデータを、指定されたメモリ領域に保存します。 |
|
現在のスコープ内のすべてのメタデータを、指定された IStream に保存します。 |
|
前の IMetaDataEmit::DefineTypeDef 呼び出しで定義された型のクラス レイアウトのシグネチャを設定または更新します。 |
|
前の IMetaDataEmit::DefineCustomAttribute 呼び出しで定義されたカスタム属性の値を設定または更新します。 |
|
前の IMetaDataEmit::DefineEvent 呼び出しで定義されたイベントについて、指定した機能を設定または更新します。 |
|
指定したトークンによって参照されるフィールド、メソッドの戻り値、またはメソッドのパラメータに関する PInvoke マーシャリング情報を設定します。 |
|
指定したフィールド トークンによって参照されるフィールドの既定値を設定または更新します。 |
|
指定したトークンによって参照されるフィールドの相対仮想アドレスのグローバル変数値を設定します。 |
|
指定した IUnknown ポインタが参照するメソッドを、トークンを再マップするための通知コールバックとして設定します。 |
|
指定したトークンによって参照される、継承されたメソッド実装のメタデータ シグネチャを設定または更新します。 |
|
前の IMetaDataEmit::DefineMethod 呼び出しで定義されたメソッドの機能 (指定した相対仮想アドレスに格納されている) を設定または更新します。 |
|
前の IMetaDataEmit::DefineModuleRef 呼び出しで定義されたモジュールへの参照を更新します。 |
|
前の IMetaDataEmit::DefineParam への呼び出しで定義されたメソッド パラメータの機能を設定または変更します。 |
|
前の IMetaDataEmit::DefineMemberRef 呼び出しで定義されている指定メンバが、前の IMetaDataEmit::DefineTypeDef 呼び出しで定義されている指定型のメンバであることを確立します。 |
|
前の IMetaDataEmit::DefinePermissionSet 呼び出しで定義されたアクセス許可セットのメタデータ シグネチャの機能を設定または更新します。 |
|
前の IMetaDataEmit::DefinePinvokeMap への呼び出しで定義されたとおりに、メソッドの PInvoke 署名の機能を設定または変更します。 |
|
前の IMetaDataEmit::DefineProperty 呼び出しで定義されたプロパティについて、メタデータに格納されている機能を設定します。 |
|
指定したメソッドの相対仮想アドレスを設定します。 |
|
前の IMetaDataEmit::DefineTypeDef 呼び出しで定義された型の機能を設定します。 |
|
アセンブリを現在のスコープにインポートし、マージしたスコープの新しいメタデータ シグネチャを取得します。 |
必要条件
プラットフォーム : 「.NET Framework システム要件」を参照
ヘッダー : Cor.h
ライブラリ : MsCorEE.dll でリソースとして使用されていること
.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0