Partager via


IMetaDataDispenser::OpenScope, méthode

Ouvre un fichier sur disque existant et mappe ses métadonnées en mémoire.

Syntaxe

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 (Common Language Runtime).

dwOpenFlags
[in] Valeur de l’énumération CorOpenFlags pour spécifier le mode (lecture, écriture, etc.) pour l’ouverture.

riid
[in] IID de l’interface de métadonnées souhaitée à retourner ; l’appelant utilise l’interface pour importer (lire) ou émettre (écriture) des métadonnées.

La valeur de riid doit spécifier l’une des interfaces « import » ou « emit ». 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 de méthodes de l’une des interfaces « import » ou ajoutées à l’utilisation de méthodes de l’une des interfaces « emit ».

Si le fichier cible ne contient pas de métadonnées CLR, la méthode OpenScope échoue.

Dans .NET Framework version 1.0 et version 1.1, si une étendue est ouverte avec dwOpenFlags défini sur ofRead, elle est éligible au partage. Autrement dit, si les appels suivants à OpenScope passent le nom d’un fichier qui a été ouvert précédemment, l’étendue existante est réutilisée et un nouvel ensemble de structures de données n’est pas créé. Toutefois, des problèmes peuvent survenir en raison de ce partage.

Dans .NET Framework version 2.0, les étendues ouvertes avec dwOpenFlags défini sur la valeur ofRead ne sont plus partagées. Utilisez la valeur ofReadOnly pour permettre à l’étendue d’être partagée. Lorsqu’une étendue est partagée, les requêtes qui utilisent des interfaces de métadonnées « lecture/écriture » échouent.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : Cor.h

Bibliothèque : utilisée comme ressource dans MsCorEE.dll

Versions de .NET Framework : Disponible à partir de la version 1.0

Voir aussi