Méthode IMetaDataDispenser ::OpenScopeOnMemory (rometadataapi.h)
Ouvre une zone de mémoire qui contient des métadonnées existantes. Autrement dit, cette méthode ouvre une zone de mémoire spécifiée dans laquelle les données existantes sont traitées comme des métadonnées.
Syntaxe
HRESULT OpenScopeOnMemory(
[in] const BYTE *pData,
[in] ULONG cbData,
[in] DWORD dwOpenFlags,
[in] REFIID riid,
[out] IUnknown **ppIUnk
);
Paramètres
[in] pData
Pointeur qui spécifie l’adresse de départ de la zone mémoire.
[in] cbData
Taille de la zone de mémoire, en octets.
[in] dwOpenFlags
Valeur de l’énumération CorOpenFlags pour spécifier le mode (lecture, écriture, etc.) pour l’ouverture.
[in] riid
IID de l’interface de métadonnées souhaitée à retourner ; l’appelant utilisera l’interface pour importer (lire) ou émettre (écrire) 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.
[out] ppIUnk
Pointeur vers l’interface retournée.
Valeur retournée
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
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 ».
La méthode OpenScopeOnMemory est similaire à la méthode OpenScope , sauf que les métadonnées intéressantes existent déjà en mémoire, plutôt que dans un fichier sur disque.
Si la zone de mémoire cible ne contient pas de métadonnées CLR (Common Language Runtime), la méthode OpenScopeOnMemory échoue.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | rometadataapi.h |