Share via


IMetaDataDispenserEx::SetOption, méthode

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

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

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

GUID Description pValue Parameter
MetaDataCheckDuplicatesFor Contrôle les éléments qui sont vérifiés pour détecter des 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 façon 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 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. 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 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. Utilisez la méthode IMetaDataEmit::SetHandler 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 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 Enumeration.
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 est défini sur 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 a 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 tirée de la version de Mscorwks.dll dans laquelle le code de métadonnées est exécuté. 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.

Spécifications

Plateforme : Consultez Configuration requise.

En-tête : Cor.h

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

Versions de .NET Framework : Disponible à partir de la version 1.0

Voir aussi