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