IMetaDataEmit::DefineImportMember (Método)
Crea una referencia al miembro especificado de un tipo o módulo que se define fuera del ámbito actual y define un símbolo (token) de esa referencia.
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] Interfaz IMetaDataAssemblyImport que representa el ensamblado del que se importa el miembro de destino.pbHashValue
[in] Matriz que contiene el hash del ensamblado especificado por pAssemImport.cbHashValue
[in] Número de bytes contenidos en la matriz pbHashValue.pImport
[in] Interfaz IMetaDataImport que representa el ámbito de metadatos del que se importa el miembro de destino.mbMember
[in] Símbolo (token) que especifica el miembro de destino. El símbolo (token) puede ser un símbolo (de un método miembro) de mdMethodDef, (de una propiedad miembro) de mdProperty o (de un campo miembro) de mdFieldDef.pAssemEmit
[in] Interfaz IMetaDataAssemblyEmit que representa el ensamblado al que se importa el miembro de destino.tkParent
[in] Símbolo (token) de mdTypeRef o mdModuleRef del tipo o módulo al que pertenece el miembro de destino, respectivamente.pmr
[out] Símbolo (token) de mdMemberRef que se define en el ámbito actual para la referencia del miembro.
Comentarios
Método DefineImportMember que busca en el miembro, especificado por mbMember, que se define en otro ámbito, especificado por pImport y recupera sus propiedades. Utiliza esta información para llamar al método IMetaDataEmit::DefineMemberRef en el ámbito actual con el fin de crear la referencia del miembro.
Normalmente, ante de usar el método DefineImportMember, debe crear, en el ámbito actual, un tipo o módulo de referencia para la clase, la interfaz o el módulo primarios del miembro de destino. El símbolo (token) de metadatos de esta referencia se pasa, a continuación, al argumento tkParent. No necesita crear ninguna referencia al elemento primario del miembro de destino si se va a resolver mediante el compilador o vinculador. En resumen:
Si el miembro de destino es un campo o método, use los métodos IMetaDataEmit::DefineTypeRefByName o IMetaDataEmit::DefineImportType para crear una referencia de tipo, en el ámbito actual, para la clase o la interfaz primarias del miembro.
Si el miembro de destino es una variable o función globales (es decir, no es un miembro de una clase o interfaz), use el método IMetaDataEmit::DefineModuleRef para crear una referencia de módulo, en el ámbito actual, para el módulo primario del miembro.
Si el elemento primario del miembro de destino se va a resolver más tarde mediante el compilador o vinculador, se pasa mdTokenNil de tkParent. El único caso en el que se aplica este proceso es cuando una función o variable globales se importan de un archivo .obj que se vinculará, en última instancia, al módulo actual y a la combinación de metadatos.
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: Cor.h
Biblioteca: se usa como recurso en MSCorEE.dll
Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0