IMetaDataEmit::DefineImportMember-Methode
Erstellt einen Verweis auf den angegebenen Member eines Typs oder Moduls, der bzw. das außerhalb des aktuellen Bereichs definiert ist, und definiert ein Token für diesen Verweis.
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 Assembly enthält, die von pAssemImport angegeben wird.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 ein mdMethodDef-Token (für eine Membermethode), ein mdProperty-Token (für eine Membereigenschaft) oder ein mdFieldDef-Token (für ein Memberfeld) sein.pAssemEmit
[in] Eine IMetaDataAssemblyEmit-Schnittstelle, die die Assembly darstellt, in die der Zielmember importiert wird.tkParent
[in] Das mdTypeRef-Token oder mdModuleRef-Token für den Typ bzw. das Modul, der bzw. das den Zielmember besitzt.pmr
[out] Das mdMemberRef-Token, das im aktuellen Bereich für den Memberverweis definiert wird.
Hinweise
Die DefineImportMember-Methode sucht den von mbMember angegebenen Member, der in einem anderen von pImport angegebenen Bereich definiert ist, und ruft dessen Eigenschaften ab. Sie verwendet diese Informationen, um die IMetaDataEmit::DefineMemberRef-Methode im aktuellen Bereich zur Erstellung des Memberverweises aufzurufen.
Im Allgemeinen müssen Sie vor der Verwendung der DefineImportMember-Methode im aktuellen Bereich einen Typverweis oder Modulverweis für die übergeordnete Klasse, die übergeordnete Schnittstelle oder das übergeordnete Modul des Zielmembers erstellen. Das Metadatentoken für diesen Verweis wird dann in das tkParent-Argument übergeben. Sie müssen keinen Verweis auf das übergeordnete Element des Zielmembers erstellen, wenn dieses später vom Compiler oder Linker aufgelöst wird. Zusammenfassung:
Wenn es sich beim Zielmember um ein Feld oder eine Methode handelt, verwenden Sie entweder die IMetaDataEmit::DefineTypeRefByName-Methode oder die IMetaDataEmit::DefineImportType-Methode, um für die übergeordnete Klasse oder Schnittstelle des Members im aktuellen Bereich einen Typverweis zu erstellen.
Wenn es sich beim Zielmember um eine globale Variable oder Funktion handelt (d. h. nicht um einen Member einer Klasse oder Schnittstelle), verwenden Sie die IMetaDataEmit::DefineModuleRef-Methode, um für das übergeordnete Modul des Members im aktuellen Bereich einen Modulverweis zu erstellen.
Wenn das übergeordnete Element des Members später vom Compiler oder Linker aufgelöst wird, übergeben Sie mdTokenNil in tkParent. Dies gilt nur für das Szenario, in dem eine globale Funktion oder Variable aus einer OBJ-Datei importiert wird, die schließlich mit dem aktuellen Modul verknüpft wird und die Metadaten zusammengeführt werden.
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: Cor.h
Bibliothek: als Ressource in MSCorEE.dll verwendet
.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0