Sdílet prostřednictvím


IMetaDataDispenserEx::SetOption – metoda

Nastaví zadanou možnost na danou hodnotu pro aktuální obor metadat. Možnost určuje, jak se budou zpracovávat volání aktuálního oboru metadat.

Syntaxe

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

Parametry

optionId
[v] Ukazatel na identifikátor GUID, který určuje možnost, která má být nastavena.

pValue
[v] Hodnota, která se má použít k nastavení možnosti. Typ této hodnoty musí být variantou typu zadané možnosti.

Poznámky

Následující tabulka obsahuje seznam dostupných identifikátorů GUID, na které může parametr odkazovat, optionId a odpovídající platné hodnoty parametru pValue .

Identifikátor GUID Description pValue Parametr
MetaDataCheckDuplicatesFor Určuje, u kterých položek se kontrolují duplicity. Při každém volání IMetaDataEmit metoda, která vytvoří novou položku, můžete požádat metodu o kontrolu, zda položka již existuje v aktuálním oboru. Můžete například zkontrolovat existenci mdMethodDef položek. V tomto případě při volání IMetaDataEmit::D efineMethod zkontroluje, zda metoda již neexistuje v aktuálním oboru. Tato kontrola používá klíč, který jednoznačně identifikuje danou metodu: nadřazený typ, název a podpis. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu CorCheckDuplicatesFor .
MetaDataRefToDefCheck Určuje, které odkazované položky se převedou na definice. Ve výchozím nastavení modul metadat optimalizuje kód převodem odkazované položky na její definici, pokud je odkazovaná položka skutečně definována v aktuálním oboru. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu CorRefToDefCheck .
MetaDataNotificationForTokenMovement Řídí, ke kterým přemapování tokenů dochází během sloučení metadat, generují zpětná volání. Použití IMetaDataEmit::SetHandler metoda vytvořit IMapToken rozhraní. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu CorNotificationForTokenMovement .
MetaDataSetENC Řídí chování funkce ENC (edit-and-continue). Najednou lze nastavit pouze jeden režim chování. Musí být variantou typu UI4 a musí obsahovat hodnotu výčtu CorSetENC . Hodnota není bitová maska.
MetaDataErrorIfEmitOutOfOrder Řídí, které chyby generované mimo pořadí generují zpětná volání. Generování metadat mimo pořadí není fatální. Pokud však generujete metadata v pořadí, které je preferováno modulem metadat, metadata jsou kompaktnější, a proto je možné je vyhledávat efektivněji. IMetaDataEmit::SetHandler Pomocí metody vytvořte rozhraní IMetaDataError. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu CorErrorIfEmitOutOfOrder .
MetaDataImportOption Určuje, které druhy položek, které byly odstraněny během ENC, jsou načteny enumerátorem. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu CorImportOptions .
MetaDataThreadSafetyOptions Řídí, jestli modul metadat získá zámky pro čtení a zápis, a tím zajišťuje bezpečnost vláken. Ve výchozím nastavení modul předpokládá, že volající přístup je jednovláknový, takže nejsou získány žádné zámky. Klienti zodpovídají za udržování správné synchronizace vláken při použití rozhraní API metadat. Musí být variantou typu UI4 a musí obsahovat hodnotu výčtu CorThreadSafetyOptions . Hodnota není bitová maska.
MetaDataGenerateTCEAdaptery Určuje, jestli má dovozce knihovny typů generovat adaptéry TCE (Tightly Coupled Event) pro kontejnery spojovacích bodů MODELU COM. Musí se jednat o variantu typu BOOL. Pokud pValue je nastavená na true, import knihovny typů vygeneruje adaptéry TCE.
MetaDataTypeLibImportNamespace Určuje jiný než výchozí obor názvů pro importovanou knihovnu typů. Musí se jednat o hodnotu null nebo variantu typu BSTR. Pokud pValue je hodnota null, aktuální obor názvů je nastaven na hodnotu null; v opačném případě je aktuální obor názvů nastaven na řetězec, který je uložen v typu BSTR varianty.
MetaDataLinkerOptions Určuje, zda má linker generovat sestavení nebo soubor modulu rozhraní .NET Framework. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu CorLinkerOptions .
MetaDataRuntimeVersion Určuje verzi modulu CLR (Common Language Runtime), pro který byla tato image sestavena. Verze je uložena jako řetězec, například "v1.0.3705". Musí to být hodnota null, hodnota VT_EMPTY nebo varianta typu BSTR. Pokud pValue má hodnotu null, je verze modulu runtime nastavená na hodnotu null. Pokud pValue je VT_EMPTY, verze je nastavena na výchozí hodnotu, která je převzata z verze Mscorwks.dll, ve které je kód metadat spuštěn. V opačném případě se verze modulu runtime nastaví na řetězec, který se nachází v typu BSTR varianty.
MetaDataMergerOptions Určuje možnosti pro slučování metadat. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu MergeFlags , který je popsán v souboru CorHdr.h.
MetaDataPreserveLocalRefs Zakáže optimalizaci místních odkazů na definice. Musí obsahovat kombinaci hodnot výčtu CorLocalRefPreservation .

Požadavky

Platforma: Viz Požadavky na systém.

Záhlaví: Cor.h

Knihovny: Používá se jako prostředek v MsCorEE.dll

Verze rozhraní .NET Framework: K dispozici od verze 1.0

Viz také