IMetaDataEmit::DefineImportMember-Methode
Erstellt einen Verweis auf den angegebenen Member eines Typs oder Moduls, der außerhalb des aktuellen Bereichs definiert ist, und definiert ein Token für diesen Verweis.
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
);
Parameter
pAssemImport
[in] Eine IMetaDataAssemblyImport-Schnittstelle, die die Assembly darstellt, aus der der Zielmember importiert wird.
pbHashValue
[in] Ein Array, das den Hash für die durch pAssemImport
angegebene Assembly enthält.
cbHashValue
[in] Die Anzahl der Bytes im pbHashValue
-Array.
pImport
[in] Eine IMetaDataImport-Schnittstelle, die den Metadatenbereich darstellt, aus dem der Zielmember importiert wird.
mbMember
[in] Das Metadatentoken, das den Zielmember angibt. Das Token kann eine mdMethodDef
(für eine Membermethode), mdProperty
(für eine Membereigenschaft) oder mdFieldDef
(für ein Memberfeld) sein.
pAssemEmit
[in] Eine IMetaDataAssemblyEmit-Schnittstelle, die die Assembly darstellt, in die der Zielmember importiert wird.
tkParent
[in] Das mdTypeRef
- oder mdModuleRef
-Token für den Typ bzw. das Modul, der/das den Zielmember besitzt.
pmr
[out] Das mdMemberRef
-Token, das im aktuellen Bereich für den Memberverweis definiert ist.
Bemerkungen
Die DefineImportMember
-Methode sucht nach dem durch mbMember
angegebenen Member, der in einem anderen durch pImport
angegebenen Bereich definiert ist, und ruft seine Eigenschaften ab. Diese Informationen werden verwendet, um die IMetaDataEmit::DefineMemberRef-Methode im aktuellen Bereich zum Erstellen des Memberverweises aufzurufen.
Im Allgemeinen müssen Sie vor der Verwendung der DefineImportMember
-Methode im aktuellen Bereich einen Typverweis oder einen Modulverweis für die übergeordnete Klasse, die Schnittstelle oder das Modul des Zielmembers erstellen. Das Metadatentoken für diesen Verweis wird dann im tkParent
-Argument übergeben. Sie müssen keinen Verweis auf das übergeordnete Element des Zielmembers erstellen, wenn er später vom Compiler oder Linker aufgelöst wird. Zusammenfassung:
Wenn es sich bei dem Zielmember um ein Feld oder eine Methode handelt, verwenden Sie entweder die IMetaDataEmit::DefineTypeRefByName-Methode oder die IMetaDataEmit::DefineImportType-Methode, um einen Typverweis im aktuellen Bereich für die übergeordnete Klasse oder übergeordnete Schnittstelle des Members zu erstellen.
Wenn der Zielmember eine globale Variable oder globale Funktion ist (d. h. kein Member einer Klasse oder Schnittstelle), verwenden Sie die IMetaDataEmit::DefineModuleRef-Methode, um einen Modulverweis im aktuellen Bereich für das übergeordnete Modul des Members zu erstellen.
Wenn das übergeordnete Element des Zielmembers später vom Compiler oder Linker aufgelöst wird, übergeben Sie
mdTokenNil
intkParent
. Dies trifft nur in einem einzigen Szenario zu: Wenn eine globale Funktion oder globale Variable aus einer OBJ-Datei importiert wird, die letztendlich mit dem aktuellen Modul verknüpft und die Metadaten zusammengeführt werden.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: Cor.h
Bibliothek: Als Ressource in „MSCorEE.dll“ verwendet
.NET Framework-Versionen: Seit Version 1.0 verfügbar