IMetaDataAssemblyEmit

更新:2007 年 11 月

提供支持公共语言运行库解析和使利用资源所使用的自描述模型的方法。

interface IMetaDataAssemblyEmit {
        
    HRESULT DefineAssembly (
        [in] const void     *pbPublicKey,
        [in] ULONG          cbPublicKey, 
        [in] ULONG          ulHashAlgId, 
        [in] LPCWSTR        szName, 
        [in] const ASSEMBLYMETADATA *pMetaData,  
        [in] DWORD          dwAssemblyFlags, 
        [out] mdAssembly    *pma
    ); 
        
    HRESULT DefineAssemblyRef (
        [in] const void     *pbPublicKeyOrToken,
        [in] ULONG          cbPublicKeyOrToken, 
        [in] LPCWSTR        szName, 
        [in] const ASSEMBLYMETADATA *pMetaData,
        [in] const void     *pbHashValue, 
        [in] ULONG          cbHashValue,
        [in] DWORD          dwAssemblyRefFlags,
        [out] mdAssemblyRef *pmdar
    );
        
    HRESULT DefineExportedType (
        [in] LPCWSTR        szName,
        [in] mdToken        tkImplementation, 
        [in] mdTypeDef      tkTypeDef,
        [in] DWORD          dwExportedTypeFlags,
        [out] mdExportedType   *pmdct
    );
        
    HRESULT DefineFile (
        [in] LPCWSTR        szName, 
        [in] const void     *pbHashValue, 
        [in] ULONG          cbHashValue,
        [in] DWORD          dwFileFlags,
        [out] mdFile        *pmdf
    );
        
    HRESULT DefineManifestResource (
        [in] LPCWSTR        szName, 
        [in] mdToken        tkImplementation, 
        [in] DWORD          dwOffset, 
        [in] DWORD          dwResourceFlags,
        [out] mdManifestResource  *pmdmr
    );
        
    HRESULT SetAssemblyProps (
        [in] mdAssembly     pma,
        [in] const void     *pbPublicKey,
        [in] ULONG          cbPublicKey,
        [in] ULONG          ulHashAlgId,
        [in] LPCWSTR        szName,
        [in] const ASSEMBLYMETADATA *pMetaData,
        [in] DWORD          dwAssemblyFlags
    );
        
    HRESULT SetAssemblyRefProps (
        [in] mdAssemblyRef  ar,
        [in] const void     *pbPublicKeyOrToken,
        [in] ULONG          cbPublicKeyOrToken,
        [in] LPCWSTR        szName, 
        [in] const ASSEMBLYMETADATA *pMetaData, 
        [in] const void     *pbHashValue,
        [in] ULONG          cbHashValue,
        [in] DWORD          dwAssemblyRefFlags
    );
        
    HRESULT SetExportedTypeProps (
        [in] mdExportedType ct, 
        [in] mdToken        tkImplementation,
        [in] mdTypeDef      tkTypeDef,
        [in] DWORD          dwExportedTypeFlags
    );
        
    HRESULT SetFileProps (
        [in] mdFile         file,
        [in] const void     *pbHashValue, 
        [in] ULONG          cbHashValue,
        [in] DWORD          dwFileFlags
    );
        
    HRESULT SetManifestResourceProps (
        [in] mdManifestResource  mr,
        [in] mdToken        tkImplementation, 
        [in] DWORD          dwOffset,
        [in] DWORD          dwResourceFlags
    );
        
};

方法

方法

说明

IMetaDataAssemblyEmit::DefineAssembly 方法

创建一个包含指定程序集的元数据的程序集数据结构,并返回关联的元数据标记。

IMetaDataAssemblyEmit::DefineAssemblyRef 方法

创建一个包含此程序集引用的程序集的元数据的 AssemblyRef 结构,并返回关联的元数据标记。

IMetaDataAssemblyEmit::DefineExportedType 方法

创建一个包含指定导出类型的元数据的 ExportedType 结构,并返回关联的元数据标记。

IMetaDataAssemblyEmit::DefineFile 方法

创建一个包含此程序集引用的程序集的元数据的 File 元数据结构,并返回关联的元数据标记。

IMetaDataAssemblyEmit::DefineManifestResource 方法

创建一个包含指定清单资源的元数据的 ManifestResource 结构,并返回关联的元数据标记。

IMetaDataAssemblyEmit::SetAssemblyProps 方法

修改指定的 Assembly 元数据结构。

IMetaDataAssemblyEmit::SetAssemblyRefProps 方法

修改指定的 AssemblyRef 元数据结构。

IMetaDataAssemblyEmit::SetExportedTypeProps 方法

修改指定的 ExportedType 元数据结构。

IMetaDataAssemblyEmit::SetFileProps 方法

修改指定的 File 元数据结构。

IMetaDataAssemblyEmit::SetManifestResourceProps 方法

修改指定的 ManifestResource 元数据结构。

备注

有关元数据标记的更多信息,请参见元数据标记概述

要求

**平台:**请参见 .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

请参见

参考

ASSEMBLYMETADATA

IMetaDataAssemblyImport

其他资源

元数据接口