Partager via


IMetaDataDispenserEx::SetOption, méthode

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

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

Paramètres

  • 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.

Notes

La table suivante répertorie les GUID disponibles vers lesquels le paramètre optionId peut pointer et les valeurs valides correspondantes pour le paramètre pValue.

GUID

Description

Paramètre pValue

MetaDataCheckDuplicatesFor

Contrôle les éléments à vérifier pour les doublons. Chaque fois que vous appelez une méthode IMetaDataEmit qui crée un élément, vous pouvez demander à celle-ci de vérifier si l'élément existe déjà dans la portée actuelle. Par exemple, vous pouvez vérifier l'existence des éléments mdMethodDef ; dans ce cas, lorsque vous appelez la fonction IMetaDataEmit::DefineMethod, elle vérifie que la méthode n'existe pas déjà dans la portée 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 un variant de type UI4 et contenir une combinaison des valeurs de l'énumération CorCheckDuplicatesFor.

MetaDataRefToDefCheck

Contrôle quels éléments référencés sont convertis en définitions. Par défaut, le moteur de métadonnées optimisera le code en convertissant un élément référencé dans sa définition si l'élément référencé est défini dans la portée actuelle.

Doit être un variant de type UI4 et contenir une combinaison des valeurs de l'énumération CorRefToDefCheck.

MetaDataNotificationForTokenMovement

Détermine quels remappages de jetons ayant lieu pendant une fusion des métadonnées génèrent des rappels. Utilisez la méthode IMetaDataEmit::SetHandler pour établir votre interface IMapToken.

Doit être un variant de type UI4 et contenir une combinaison des valeurs de l'énumération CorNotificationForTokenMovement.

MetaDataSetENC

Contrôle le comportement de ENC (Modifier et continuer). Un seul mode de comportement à la fois peut être défini.

Doit être un variant de type UI4 et contenir une combinaison une valeur de l'énumération CorSetENC. La valeur n'est pas un masque de bits.

MetaDataErrorIfEmitOutOfOrder

Détermine quelles erreurs émises de manière désordonnée génèrent des rappels. Le fait d'émettre des métadonnées de manière désordonnée ne constitue pas une erreur irrécupérable ; toutefois, si vous émettez les métadonnées selon l'ordre préconisé par le moteur de métadonnées, celles-ci sont plus compactes et peuvent donc être recherchées plus efficacement. Utilisez la méthode IMetaDataEmit::SetHandler pour établir votre interface IMetaDataError.

Doit être un variant de type UI4 et contenir une combinaison des valeurs de l'énumération CorErrorIfEmitOutOfOrder.

MetaDataImportOption

Détermine quels types d'éléments supprimés pendant une session ENC (Modifier et continuer) sont récupérés par un énumérateur.

Doit être un variant de type UI4 et contenir une combinaison des valeurs de l'énumération CorImportOptions, énumération.

MetaDataThreadSafetyOptions

Contrôle si le moteur de métadonnées obtient des verrous lecteur/writer, garantissant ainsi la sécurité des threads. Par défaut, le moteur suppose que l'appelant rend l'accès monothread ; aucun verrou n'est donc obtenu. Les clients sont chargés de maintenir une synchronisation des threads appropriée lorsqu'ils utilisent l'API de métadonnées.

Doit être un variant de type UI4 et contenir une combinaison une valeur de l'énumération CorThreadSafetyOptions. La valeur n'est pas un masque de bits.

MetaDataGenerateTCEAdapters

Contrôle si l'importateur de bibliothèques de types doit générer les adaptateurs d'événements fortement couplés (TCE, Tightly Coupled Event) pour les conteneurs de point de connexion COM.

Doit être un variant de type BOOL. Si pValue a la valeur true, l'importateur de bibliothèques 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 qui est importée.

Doit être une valeur Null ou un variant de type BSTR. Si pValue est une valeur null, l'espace de noms actuel a la valeur null ; sinon, l'espace de noms actuel a pour valeur la chaîne contenue dans le type BSTR du variant.

MetaDataLinkerOptions

Détermine si l'éditeur de liens doit générer un assembly ou un fichier de module .NET Framework.

Doit être un variant de type UI4 et contenir une combinaison des valeurs de l'énumération CorLinkerOptions.

MetaDataRuntimeVersion

Spécifie la version du Common Language Runtime avec laquelle cette image a été générée. La version est stockée comme une chaîne, telle que « v1.0.3705 ».

Doit être une valeur Null, une valeur VT_EMPTY ou un variant de type BSTR. Si pValue est null, la version du runtime a la valeur null. Si pValue est VT_EMPTY, une valeur par défaut est définie, tirée de la version de Mscorwks.dll dans laquelle le code de métadonnées s'exécute. Sinon, la version du runtime a pour valeur la chaîne tenue dans le type BSTR du variant.

MetaDataMergerOptions

Spécifie des options pour la fusion de métadonnées.

Doit être un variant de type UI4 et doit contenir une combinaison des valeurs de l'énumération MergeFlags, décrite dans le fichier CorHdr.h.

Configuration requise

Plateforme : consultez Configuration requise du .NET Framework.

En-tête : Cor.h

Bibliothèque : utilisée en tant que ressource dans MsCorEE.dll

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Voir aussi

Référence

IMetaDataDispenserEx, interface

IMetaDataDispenser, interface