Método IMetaDataEmit::DefineImportMember
Cria uma referência ao membro especificado de um tipo ou módulo que está definido fora do escopo corrente e define um token para essa referência.
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
);
Parâmetros
pAssemImport
[in] An IMetaDataAssemblyImport interface que representa o conjunto do qual o membro de destino é importado.pbHashValue
[in] Uma matriz que contém o hash do assembly especificado por pAssemImport.cbHashValue
[in] O número de bytes no pbHashValue matriz.pImport
[in] An IMetaDataImport interface que representa o escopo de metadados do qual o membro de destino é importado.mbMember
[in] Token de metadados que especifica o membro de destino. O token pode ser um mdMethodDef (para um método membro) mdProperty (para uma propriedade do membro), ou mdFieldDef (para um campo de membro) token.pAssemEmit
[in] An IMetaDataAssemblyEmit interface que representa o assembly no qual o membro de destino é importado.tkParent
[in] The mdTypeRef ou mdModuleRef token de tipo ou módulo, respectivamente, que possui o membro de destino.pmr
[out] The mdMemberRef símbolo é definido no escopo corrente para a referência de membro.
Comentários
The DefineImportMember método procura o membro, especificado por mbMember, que é definido em outro escopo, especificado por pImporte recupera suas propriedades. Ele usa essas informações para chamar o IMetaDataEmit::DefineMemberRef método no escopo corrente para criar a referência de membro.
Em geral, antes você usar o DefineImportMember método, você deve criar, no escopo corrente, um tipo de referência ou referência de módulo de classe pai do membro de destino, interface ou módulo. Token de metadados para essa referência é então passado no tkParent argumento. Não é necessário criar uma referência ao pai do membro de destino se ser resolvido mais tarde pelo compilador ou do vinculador. Para resumir:
Se o membro de destino for um campo ou método, use ambos o IMetaDataEmit::DefineTypeRefByName or the IMetaDataEmit::DefineImportType método para criar uma referência de tipo no escopo corrente para o membro pai classe ou interface de pai.
Se o membro de destino for uma variável global ou função global (ou seja, não é membro de uma classe ou interface), use o IMetaDataEmit::DefineModuleRef método para criar uma referência de módulo, no escopo corrente para o módulo do pai do membro.
Se o pai do membro de destino será resolvida posteriormente pelo compilador ou vinculador, em seguida, passar mdTokenNil em tkParent. A única situação em que isso se aplica é quando uma função global ou variável global está sendo importado de um arquivo .obj que será vinculado, por fim, no módulo corrente e os metadados mesclagem.
Requisitos
Plataformas: See Requisitos de sistema do .NET framework.
Cabeçalho: Cor.h
Biblioteca: Usado sistema autônomo um recurso em MSCorEE.dll
.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0