Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Crée une référence au membre spécifié d’un type ou d’un module défini en dehors de l’étendue actuelle et définit un jeton pour cette référence.
Syntax
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
);
Parameters
pAssemImport [in] Interface IMetaDataAssemblyImport qui représente l’assembly à partir duquel le membre cible est importé.
pbHashValue [in] Tableau qui contient le hachage de l’assembly spécifié par pAssemImport.
cbHashValue [in] Nombre d’octets dans le pbHashValue tableau.
pImport [in] Interface IMetaDataImport qui représente l’étendue des métadonnées à partir de laquelle le membre cible est importé.
mbMember [in] Jeton de métadonnées qui spécifie le membre cible. Le jeton peut être un mdMethodDef jeton (pour une méthode membre), mdProperty (pour une propriété membre) ou mdFieldDef (pour un champ membre).
pAssemEmit [in] Interface IMetaDataAssemblyEmit qui représente l’assembly dans lequel le membre cible est importé.
tkParent [in] Le mdTypeRef ou mdModuleRef le jeton du type ou du module, respectivement, qui possède le membre cible.
pmr [out] Jeton mdMemberRef défini dans l’étendue actuelle de la référence membre.
Remarks
La DefineImportMember méthode recherche le membre, spécifié par mbMember, qui est défini dans une autre étendue, spécifiée par pImport, et récupère ses propriétés. Il utilise ces informations pour appeler la méthode IMetaDataEmit ::D efineMemberRef dans l’étendue actuelle pour créer la référence de membre.
En règle générale, avant d’utiliser la DefineImportMember méthode, vous devez créer, dans l’étendue actuelle, une référence de type ou une référence de module pour la classe parente, l’interface ou le module du membre cible. Le jeton de métadonnées de cette référence est ensuite passé dans l’argument tkParent . Vous n’avez pas besoin de créer une référence au parent du membre cible s’il sera résolu ultérieurement par le compilateur ou l’éditeur de liens. To summarize:
Si le membre cible est un champ ou une méthode, utilisez la méthode IMetaDataEmit ::D efineTypeRefByName ou IMetaDataEmit ::D efineImportType pour créer une référence de type, dans l’étendue actuelle, pour la classe parente ou l’interface parente du membre.
Si le membre cible est une variable globale ou une fonction globale (autrement dit, pas membre d’une classe ou d’une interface), utilisez la méthode IMetaDataEmit ::D efineModuleRef pour créer une référence de module, dans l’étendue actuelle, pour le module parent du membre.
Si le parent du membre cible sera résolu ultérieurement par le compilateur ou l’éditeur de liens, transmettez
mdTokenNiltkParent. Le seul scénario dans lequel cela s’applique est lorsqu’une fonction globale ou une variable globale est importée à partir d’un fichier .obj qui sera finalement lié au module actuel et aux métadonnées fusionnées.
Requirements
Plates-formes: Consultez les systèmes d’exploitation pris en charge par .NET.
Header: Cor.h
Library: CorGuids.lib