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

Voir aussi

IMetaDataDispenser