واجهة IMetaDataEmit
Provides وظائف إلى إنشاء, تعديل, و حفظ بيانات التعريف حول the تجميع في the currently defined نطاق. The بيانات التعريف can be stored في ذاكرة أو تم الحفظ إلى قرص.
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
);
};
الأساليب
Method |
الوصف |
---|---|
تحديثات the الحالي تجميع نطاق مع the التغييرات made في the specified pImport. |
|
Creates a تعريف for a مخصص سمة مع the specified بيانات التعريف توقيع, إلى be attached إلى the specified كائن, و gets a token إلى that مخصص سمة تعريف. |
|
Creates a تعريف for an حدث مع the specified بيانات التعريف توقيع, و gets a token إلى that حدث تعريف. |
|
Creates a تعريف for a حقل مع the specified بيانات التعريف توقيع, و gets a token إلى that حقل تعريف. |
|
Creates a تعريف for a عضو of a نوع that هو defined في a وحدة نمطية? outside the الحالي نطاق, و gets a token for that مرجع تعريف. |
|
Creates a تعريف for a مرجع إلى a نوع that هو defined في a وحدة نمطية? outside the الحالي نطاق, و gets a token إلى that مرجع تعريف. |
|
قم بإنشاء تعريف لمرجع إلى عضو في وحدة نمطية خارج النطاق الحالي، ويحصل على رمز مميز لآلتي تشير إلى تعريف. |
|
قم بإنشاء تعريف لأسلوب باستخدام توقيع محدد، و إرجاع على رمز مميز لتعريف الأسلوب هذا. |
|
قم بإنشاء تعريف لتطبيق أسلوب موروثة من واجهة، وتقوم بإرجاع رمز مميز لتعريف تطبيق الأسلوب هذا. |
|
قم بإنشاء توقيع بيانات التعريف لوحدة نمطية بالاسم المحدد. |
|
إنشاء توقيع بيانات التعريف لتعريف نوع ويرجع mdTypeDefالرمز المميز لهذا النوع، بالإضافة إلى ذلك يحدد نوع المعرف عضو في النوع المشار إليه بواسطة tdEncloser. |
|
Creates a معلمة تعريف مع the specified توقيع for the أسلوب مشار إليها بواسطة the specified token, و gets a token for that معلمة تعريف. |
|
إنشاء تعريف إذن تعيين توقيع بيانات التعريف المحددة، ويحصل على رمز مميز للذي إذن تعيين تعريف. |
|
قم بتعيين ميزات توقيع PInvoke أسلوب المشار إليه بواسطة الرمز المميز المحدد. |
|
Creates a خاصية تعريف for the specified نوع, مع the specified get و set أسلوب accessors, و gets a token إلى that خاصية تعريف. |
|
Creates a التعيين of الأمان أذونات إلى يرفق إلى the كائن مشار إليها بواسطة the specified token. |
|
Creates a نوع تعريف for a وقت تشغيل اللغة العامة نوع, و gets a بيانات التعريف token إلى that نوع تعريف. |
|
Gets a بيانات التعريف token for a نوع that هو defined في another وحدة نمطية? outside the الحالي نطاق. |
|
Gets a بيانات التعريف token for the specified قيمة حرفية سلسلة. |
|
Destroys the فئة تخطيط بيانات التعريف توقيع for the نوع مشار إليها بواسطة the specified token. |
|
Destroys the PInvoke التنظيم والإرسال بيانات التعريف توقيع for the كائن مشار إليها بواسطة the specified token. |
|
Destroys the PInvoke mapping بيانات التعريف for the كائن مشار إليها بواسطة the specified token. |
|
Deletes the specified token من the الحالي بيانات التعريف نطاق. |
|
Gets the estimated ثنائي الحجم of the تجميع في the الحالي نطاق. |
|
Gets a token for the specified بيانات التعريف توقيع. |
|
Gets a بيانات التعريف token for the نوع مع the specified بيانات التعريف توقيع. |
|
Adds the specified imported نطاق إلى the قائمة of scopes إلى be merged. |
|
Merges في the الحالي نطاق الجميع the بيانات التعريف scopes specified بواسطة واحد أو المزيد prior calls إلى IMetaDataEmit::Merge. |
|
Saves الجميع بيانات التعريف في the الحالي نطاق إلى the ملف at the specified العنوان. |
|
Saves الجميع بيانات التعريف في the الحالي نطاق إلى the specified مساحة of ذاكرة. |
|
Saves الجميع بيانات التعريف في the الحالي نطاق إلى the specified IStream. |
|
Sets أو تحديثات the فئة تخطيط توقيع of a نوع defined بواسطة a prior يتصل إلى IMetaDataEmit::DefineTypeDef. |
|
Sets أو تحديثات the القيمة of a مخصص سمة defined بواسطة a prior يتصل إلى IMetaDataEmit::DefineCustomAttribute. |
|
Sets أو تحديثات the specified ميزة of an حدث defined بواسطة a prior يتصل إلى IMetaDataEmit::DefineEvent. |
|
Sets the PInvoke التنظيم والإرسال معلومات for the حقل, أسلوب return, أو أسلوب معلمة مشار إليها بواسطة the specified token. |
|
Sets أو تحديثات the القيمة افتراضية for the حقل مشار إليها بواسطة the specified حقل token. |
|
Sets a متغيّر عمومي القيمة for the نسبي ظاهري العنوان of the حقل مشار إليها بواسطة the specified token. |
|
Sets the أسلوب مشار إليها بواسطة the specified IUnknown مؤشر كـ a إعلام callback for token remaps. |
|
Sets أو تحديثات the بيانات التعريف توقيع of the inherited أسلوب implementation مشار إليها بواسطة the specified token. |
|
Sets أو تحديثات the ميزة, stored at the specified نسبي ظاهري العنوان, of a أسلوب defined بواسطة a prior يتصل إلى IMetaDataEmit::DefineMethod. |
|
تحديثات مراجع إلى a وحدة نمطية? defined بواسطة a prior يتصل إلى IMetaDataEmit::DefineModuleRef. |
|
Sets أو التغييرات features of a أسلوب معلمة that was defined بواسطة a prior يتصل إلى IMetaDataEmit::DefineParam. |
|
Establishes that the specified عضو, كـ defined بواسطة a prior يتصل إلى IMetaDataEmit::DefineMemberRef, هو a عضو of the specified نوع, كـ defined بواسطة a prior يتصل إلى IMetaDataEmit::DefineTypeDef. |
|
Sets أو تحديثات features of the بيانات التعريف توقيع of a إذن التعيين defined بواسطة a prior يتصل إلى IMetaDataEmit::DefinePermissionSet. |
|
Sets أو التغييرات features of a أسلوب's PInvoke توقيع, كـ defined بواسطة a prior يتصل إلى IMetaDataEmit::DefinePinvokeMap. |
|
Sets the features stored في بيانات التعريف for a خاصية defined بواسطة a prior يتصل إلى IMetaDataEmit::DefineProperty. |
|
Sets the نسبي ظاهري العنوان of the specified أسلوب. |
|
Sets features of a نوع defined بواسطة a prior يتصل إلى IMetaDataEmit::DefineTypeDef. |
|
Imports an تجميع في the الحالي نطاق و gets a جديد بيانات التعريف توقيع for the merged نطاق. |
المتطلبات
الأنظمة الأساسية: See متطلبات النظام إطار عمل .NET.
**Header:**Cor.h
**المكتبة:**يستخدم كـ مورد في MsCorEE.dll
.NET Framework Versions: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0