Partager via


IMetaDataDispenserEx::SetOption Method

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

Syntax

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

Parameters

optionId [in] Pointeur vers un GUID qui spécifie l’option à définir.

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

Remarks

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

GUID Description pValue Paramètre
MetaDataCheckDuplicatesFor Contrôle les éléments vérifiés pour les doublons. Chaque fois que vous appelez une méthode IMetaDataEmit qui crée un élément, vous pouvez demander à la méthode de vérifier si l’élément existe déjà dans l’étendue actuelle. Par exemple, vous pouvez vérifier l’existence d’éléments mdMethodDef ; dans ce cas, lorsque vous appelez IMetaDataEmit ::D efineMethod, il vérifie que la méthode n’existe pas déjà dans l’étendue actuelle. Cette vérification utilise la clé qui identifie de manière unique une méthode donnée : type parent, nom et signature. Doit être une variante de type UI4 et doit contenir une combinaison des valeurs de l’énumération CorCheckDuplicatesFor .
MetaDataRefToDefCheck Contrôles auxquels 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 sa 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 lors d’une fusion de métadonnées qui génèrent des rappels. Utilisez la méthode IMetaDataEmit ::SetHandler pour établir votre interface IMapToken . Doit être une variante de type UI4 et doit contenir une combinaison des valeurs de l’énumération CorNotificationForTokenMovement .
MetaDataSetENC Contrôle le comportement de modification et de poursuite (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 d’absence de commande émises qui génèrent des rappels. L’émission de métadonnées hors ordre n’est pas irrécupérable ; toutefois, si vous émettez des métadonnées dans un ordre privilégié par le moteur de métadonnées, les métadonnées sont plus compactes et peuvent donc être plus efficacement recherchées. Utilisez la IMetaDataEmit::SetHandler méthode pour établir votre interface IMetaDataError . Doit être une variante de type UI4 et doit contenir une combinaison des valeurs de l’énumération CorErrorIfEmitOutOfOrder .
MetaDataImportOption Contrôle les types d’éléments qui ont é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 lecteur/enregistreur, 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 responsables de la gestion appropriée de la synchronisation des threads 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 d’événement étroitement couplés (TCE) pour les conteneurs de points de connexion COM. Doit être une variante de type BOOL. Si pValue la valeur est définie true, l’importateur de bibliothèque de types génère les adaptateurs TCE.
MetaDataTypeLibImportNamespace Spécifie un espace de noms non par défaut pour la bibliothèque de types en cours d’importation. Doit être une valeur Null ou une variante de type BSTR. S’il pValue s’agit d’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. 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 la valeur est Null, la version du runtime est définie sur Null. Si pValue elle est VT_EMPTY, la version est définie sur une valeur par défaut, qui est extraite 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.
MetaDataPreserveLocalRefs Désactive l’optimisation des références locales dans les définitions. Doit contenir une combinaison des valeurs de l’énumération CorLocalRefPreservation .

Requirements

Plateforme: Consultez les systèmes d’exploitation pris en charge par .NET.

Header: Cor.h

Library: CorGuids.lib

See also