Método IMetaDataEmit::D efineImportMember
Cria uma referência ao membro especificado de um tipo ou módulo definido fora do âmbito atual e define um token para essa referência.
Sintaxe
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] Uma interface IMetaDataAssemblyImport que representa a assemblagem a partir da qual o membro de destino é importado.
pbHashValue
[in] Uma matriz que contém o hash para a assemblagem especificada por pAssemImport
.
cbHashValue
[in] O número de bytes na pbHashValue
matriz.
pImport
[in] Uma interface IMetaDataImport que representa o âmbito de metadados a partir do qual o membro de destino é importado.
mbMember
[in] O token de metadados que especifica o membro de destino. O token pode ser um mdMethodDef
token (para um método membro), mdProperty
(para uma propriedade de membro) ou mdFieldDef
(para um campo de membro).
pAssemEmit
[in] Uma interface IMetaDataAssemblyEmit que representa a assemblagem na qual o membro de destino é importado.
tkParent
[in] O mdTypeRef
token ou mdModuleRef
para o tipo ou módulo, respetivamente, que é o proprietário do membro de destino.
pmr
[fora] O mdMemberRef
token definido no âmbito atual da referência de membro.
Observações
O DefineImportMember
método procura o membro, especificado por mbMember
, que é definido noutro âmbito, especificado por pImport
e obtém as respetivas propriedades. Utiliza estas informações para chamar o método IMetaDataEmit::D efineMemberRef no âmbito atual para criar a referência de membro.
Geralmente, antes de utilizar o DefineImportMember
método, tem de criar, no âmbito atual, uma referência de tipo ou referência de módulo para a classe principal, interface ou módulo do membro de destino. O token de metadados para esta referência é então transmitido no tkParent
argumento. Não precisa de criar uma referência ao elemento principal do membro de destino se este for resolvido mais tarde pelo compilador ou pelo linker. Para resumir:
Se o membro de destino for um campo ou método, utilize o método IMetaDataEmit::D efineTypeRefByName ou o método IMetaDataEmit::D efineImportType para criar uma referência de tipo, no âmbito atual, para a classe principal ou interface principal do membro.
Se o membro de destino for uma variável global ou uma função global (ou seja, não membro de uma classe ou interface), utilize o método IMetaDataEmit::D efineModuleRef para criar uma referência de módulo, no âmbito atual, para o módulo principal do membro.
Se o elemento principal do membro de destino for resolvido mais tarde pelo compilador ou pelo linker, transmita
mdTokenNil
tkParent
. O único cenário em que isto se aplica é quando uma função global ou variável global está a ser importada a partir de um ficheiro .obj que, em última análise, será ligado ao módulo atual e aos metadados intercalados.
Requisitos
Plataformas: Veja Requisitos do Sistema.
Cabeçalho: Cor.h
Biblioteca: Utilizado como recurso no MSCorEE.dll
.NET Framework Versões: Disponível desde 1.0