IMetaDataDispenser::OpenScope, méthode
Ouvre un fichier sur disque existant et mappe ses métadonnées dans la mémoire.
HRESULT OpenScope (
[in] LPCWSTR szScope,
[in] DWORD dwOpenFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk
);
Paramètres
szScope
[in] Nom du fichier à ouvrir. Le fichier doit contenir des métadonnées CLR.dwOpenFlags
[in] Valeur de l'énumération CorOpenFlags permettant de spécifier le mode (lecture, écriture, etc.) pour l'ouverture.riid
[in] L'IID de l'interface de métadonnées voulue à retourner ; l'appelant utilisera cette interface pour importer (lecture) ou émettre (écriture) les métadonnées.La valeur de riid doit spécifier l'une des interfaces d'importation ou d'émission. Les valeurs valides sont IID_IMetaDataEmit, IID_IMetaDataImport, IID_IMetaDataAssemblyEmit, IID_IMetaDataAssemblyImport, IID_IMetaDataEmit2 ou IID_IMetaDataImport2.
ppIUnk
[out] Pointeur vers l'interface retournée.
Notes
La copie en mémoire des métadonnées peut être interrogée à l'aide des méthodes de l'une des interfaces d'importation ou complétée à l'aide des méthodes de l'une des interfaces d'émission.
Si le fichier cible ne contient pas de métadonnées CLR, la méthode OpenScope échoue.
Dans les versions 1.0 et 1.1 du .NET Framework, si une portée est ouverte avec dwOpenFlags défini sur ofRead, elle est prête à être partagée. Autrement dit, si des appels suivants de OpenScope passent le nom d'un fichier qui a été ouvert précédemment, la portée existante est réutilisée et aucun nouveau jeu de structures de données n'est créé. Toutefois, des problèmes peuvent survenir en raison de ce partage.
Dans la version 2.0 du .NET Framework, les portées ouvertes avec dwOpenFlags défini sur ofRead ne sont plus partagées. Utilisez la valeur ofReadOnly pour autoriser le partage de la portée. Lorsqu'une portée est partagée, les requêtes qui utilisent les interfaces de métadonnées en lecture/écriture échouent.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : Cor.h
Bibliothèque : utilisée en tant que ressource dans MsCorEE.dll
Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0
Voir aussi
Référence
IMetaDataDispenserEx, interface
IMetaDataAssemblyEmit, interface