IMetaDataEmit
Actualización: noviembre 2007
Proporciona métodos para crear, modificar y guardar metadatos sobre el ensamblado del ámbito definido actualmente. Los metadatos se pueden almacenar en memoria o guardar en el disco.
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
);
};
Métodos
Método |
Descripción |
---|---|
Actualiza el ámbito de ensamblado actual con los cambios realizados en el parámetro pImport especificado. |
|
Crea una definición para un atributo personalizado con la firma de metadatos especificada para asociarla al objeto especificado, y obtiene un símbolo (token) a esa definición de atributo personalizado. |
|
Crea una definición para un evento con la firma de metadatos especificada y obtiene un símbolo (token) para dicha definición de evento. |
|
Crea una definición para un campo con la firma de metadatos especificada y obtiene un símbolo (token) a dicha definición. |
|
Crea una definición para un miembro de un tipo que está definido en un módulo fuera del ámbito actual, y obtiene un símbolo (token) para dicha definición de referencia. |
|
Crea una definición para una referencia a un tipo definido en un módulo fuera del ámbito actual, y obtiene un símbolo (token) a dicha definición de referencia. |
|
Crea una definición para una referencia a un miembro de un módulo fuera del ámbito actual, y obtiene un símbolo (token) a esa definición de referencia. |
|
Crea una definición para un método con la firma especificada y devuelve un símbolo (token) a dicha definición. |
|
Crea una definición para la implementación de un método heredada de una interfaz y devuelve un símbolo (token) a dicha definición. |
|
Crea la firma de metadatos para un módulo con el nombre especificado. |
|
Crea la firma de metadatos de una definición de tipo y devuelve un símbolo (token) mdTypeDef para dicho tipo; de forma adicional, permite especificar que el tipo definido es un miembro del tipo al que hace referencia tdEncloser. |
|
Crea una definición de parámetro con la firma especificada para el método al que hace referencia el símbolo (token) especificado y obtiene un símbolo (token) para dicha definición. |
|
Crea una definición para un conjunto de permisos con la firma de metadatos especificada, y obtiene un símbolo (token) a dicha definición de conjunto de permisos. |
|
Establece las funciones de la firma PInvoke del método al que hace referencia el símbolo (token) especificado. |
|
Crea una definición de propiedad para el tipo especificado, con los descriptores de acceso de los métodos get y set especificados, y obtiene un símbolo (token) a dicha definición. |
|
Crea un conjunto de permisos de seguridad para asociarlos al objeto al que hace referencia el símbolo (token) especificado. |
|
Crea una definición de tipos para un tipo de Common Language Runtime y obtiene un símbolo (token) de metadatos para dicha definición. |
|
Obtiene un símbolo (token) de metadatos para un tipo que está definido en otro módulo fuera del ámbito actual. |
|
Obtiene un símbolo (token) de metadatos para la cadena literal especificada. |
|
Destruye la firma de metadatos del diseño de clase para el tipo al que hace referencia el símbolo (token) especificado. |
|
Destruye la firma de metadatos de cálculo de referencias PInvoke para el objeto al que hace referencia el símbolo (token) especificado. |
|
Destruye los metadatos de asignación de PInvoke para el objeto al que hace referencia el símbolo (token) especificado. |
|
Elimina el símbolo (token) especificado del ámbito de metadatos actual. |
|
Obtiene el tamaño binario estimado del ensamblado en el ámbito actual. |
|
Obtiene un símbolo (token) para la firma de metadatos especificada. |
|
Obtiene un símbolo (token) de metadatos para el tipo con la firma de metadatos especificada. |
|
Agrega el ámbito importado especificado a la lista de ámbitos que se va a combinar. |
|
Combina en el ámbito actual todos los ámbitos de los metadatos especificados por una o varias llamadas previas a IMetaDataEmit::Merge. |
|
Guarda todos los metadatos del ámbito actual en el archivo con la dirección especificada. |
|
Guarda todos los metadatos del ámbito actual en el área especificada de memoria. |
|
Guarda todos los metadatos del ámbito actual en la instancia de IStream especificada. |
|
Establece o actualiza la firma de diseño de clase de un tipo definido por una llamada anterior a IMetaDataEmit::DefineTypeDef. |
|
Establece o actualiza el valor de un atributo personalizado definido por una llamada anterior a IMetaDataEmit::DefineCustomAttribute. |
|
Establece o actualiza la característica especificada de un evento definido mediante una llamada previa a IMetaDataEmit::DefineEvent. |
|
Establece la información sobre el cálculo de referencias de PInvoke para el campo devolución de método o parámetro de método, al que hace referencia el símbolo (token) especificado. |
|
Establece o actualiza el valor predeterminado para el campo al que hace referencia el símbolo (token) de campo especificado. |
|
Establece un valor de variable global para la dirección virtual relativa del campo al que hace referencia el símbolo (token) especificado. |
|
Establece el método al que hace referencia el puntero IUnknown especificado como devolución de llamada de notificación para las reasignaciones de símbolos (tokens). |
|
Establece o actualiza la firma de metadatos de la implementación de método heredada a la que hace referencia el símbolo (token) especificado. |
|
Establece o actualiza la función, almacenada en la dirección virtual relativa especificada, de un método definido por una llamada anterior a IMetaDataEmit::DefineMethod. |
|
Actualiza las referencias a un módulo definido por una llamada anterior a IMetaDataEmit::DefineModuleRef. |
|
Establece o cambia las características de un parámetro de método definido por una llamada anterior a IMetaDataEmit::DefineParam. |
|
Establece que el miembro especificado, tal como se definió mediante una llamada anterior a IMetaDataEmit::DefineMemberRef, es un miembro del tipo especificado, tal como se definió mediante una llamada anterior a IMetaDataEmit::DefineTypeDef. |
|
Establece o actualiza las características de la firma de metadatos de un conjunto de permisos definido por una llamada anterior a IMetaDataEmit::DefinePermissionSet. |
|
Establece o cambia las características de la firma PInvoke de un método, tal como se define mediante una llamada anterior a IMetaDataEmit::DefinePinvokeMap. |
|
Establece las funciones almacenadas en los metadatos de una propiedad definida por una llamada anterior a IMetaDataEmit::DefineProperty. |
|
Establece la dirección virtual relativa del método especificado. |
|
Establece las características de un tipo definido por una llamada anterior a IMetaDataEmit::DefineTypeDef. |
|
Importa un ensamblado en el ámbito actual y obtiene una nueva firma de metadatos para el ámbito combinado. |
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: Cor.h
Biblioteca: se usa como recurso en MsCorEE.dll
.NET Framework, versiones: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0