Méthode IMetaDataDispenserEx ::SetOption (rometadataapi.h)

Définit l’option spécifiée sur une valeur donnée pour la portée des métadonnées actuelle. L’option contrôle la façon dont les appels à la portée des métadonnées actuelle sont gérés.

Syntaxe

HRESULT SetOption(
  [in] REFGUID       optionId,
  [in] const VARIANT *pValue
);

Paramètres

[in] optionId

Pointeur vers un GUID qui spécifie l’option à définir.

[in] pValue

Valeur à utiliser pour définir l’option. Le type de cette valeur doit être une variante du type de l’option spécifiée.

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Le tableau suivant répertorie les GUID disponibles que le paramètre optionId peut pointer et les valeurs valides correspondantes pour le paramètre pValue .

GUID Description pValue Paramètre
MetaDataCheckDuplicatesFor Contrôle les éléments qui sont vérifiés pour détecter des doublons. Doit être une variante de type UI4 et doit contenir une combinaison des valeurs de l’énumération CorCheckDuplicatesFor.
MetaDataRefToDefCheck Contrôles que les éléments référencés sont convertis en définitions. Par défaut, le moteur de métadonnées optimise le code en convertissant un élément référencé en définition si l’élément référencé est réellement défini dans l’étendue actuelle. Doit être une variante de type UI4 et doit contenir une combinaison des valeurs de l’énumération CorRefToDefCheck.
MetaDataNotificationForTokenMovement Contrôle les remappages de jetons qui se produisent lors d’une fusion de métadonnées générant des rappels. Doit être une variante de type UI4 et doit contenir une combinaison des valeurs de l’énumération CorNotificationForTokenMovement.
MetaDataSetENC Contrôle le comportement edit-and-continue (ENC). Un seul mode de comportement peut être défini à la fois. Doit être une variante de type UI4 et doit contenir une valeur de l’énumération CorSetENC. La valeur n’est pas un masque de bits.
MetaDataErrorIfEmitOutOfOrder Contrôle les erreurs émises dans le désordre qui génèrent des rappels. L’émission de métadonnées dans le désordre n’est pas irrécupérable ; toutefois, si vous émettez des métadonnées dans un ordre favorable au moteur de métadonnées, les métadonnées sont plus compactes et peuvent donc être plus efficacement recherchées. Doit être une variante de type UI4 et doit contenir une combinaison des valeurs de l’énumération CorErrorIfEmitOutOfOrder.
MetaDataImportOption Contrôle quels types d’éléments ayant été supprimés pendant une ENC sont récupérés par un énumérateur. Doit être une variante de type UI4 et doit contenir une combinaison des valeurs de l’énumération CorImportOptions .
MetaDataThreadSafetyOptions Contrôle si le moteur de métadonnées obtient des verrous de lecture/écriture, garantissant ainsi la sécurité des threads. Par défaut, le moteur part du principe que l’accès est monothread par l’appelant. Par conséquent, aucun verrou n’est obtenu. Les clients sont tenus de maintenir la synchronisation de threads appropriée lors de l’utilisation de l’API de métadonnées. Doit être une variante de type UI4 et doit contenir une valeur de l’énumération CorThreadSafetyOptions. La valeur n’est pas un masque de bits.
MetaDataGenerateTCEAdapters Détermine si l’importateur de bibliothèque de types doit générer les adaptateurs TCE (Tightly Coupled Event) pour les conteneurs de points de connexion COM. Doit être une variante de type BOOL. Si pValue a la valeur true, l’importateur de bibliothèque de types génère les adaptateurs TCE.
MetaDataTypeLibImportNamespace Spécifie un espace de noms non défini par défaut pour la bibliothèque de types importée. Doit être une valeur Null ou une variante de type BSTR. Si pValue est une valeur null, l’espace de noms actuel est défini sur null ; sinon, l’espace de noms actuel est défini sur la chaîne qui est conservée dans le type BSTR de la variante.
MetaDataLinkerOptions Détermine si l’éditeur de liens doit générer un assembly ou un fichier de module .NET Framework. Doit être une variante de type UI4 et doit contenir une combinaison des valeurs de l’énumération CorLinkerOptions.
MetaDataRuntimeVersion Spécifie la version du Common Language Runtime sur laquelle cette image a été générée. La version est stockée sous forme de chaîne, telle que « v1.0.3705 ». Doit être une valeur Null, une valeur VT_EMPTY ou une variante de type BSTR. Si pValue a la valeur null, la version du runtime est définie sur null. Si pValue est VT_EMPTY, la version est définie sur une valeur par défaut, qui est dessinée à partir de la version de Mscorwks.dll dans laquelle le code de métadonnées est en cours d’exécution. Sinon, la version du runtime est définie sur la chaîne qui est conservée dans le type BSTR de la variante.
MetaDataMergerOptions Spécifie les options de fusion des métadonnées. Doit être une variante de type UI4 et doit contenir une combinaison des valeurs de l’énumération MergeFlags, qui est décrite dans le fichier CorHdr.h.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête rometadataapi.h

Voir aussi

IMetaDataDispenserEx