Partager via


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

IMetaDataDispenser, interface

IMetaDataDispenserEx, interface

IMetaDataAssemblyEmit, interface

IMetaDataAssemblyImport, interface

IMetaDataEmit, interface

IMetaDataEmit2, interface

IMetaDataImport, interface

IMetaDataImport2, interface