Sdílet prostřednictvím


IMetaDataDispenserEx::SetOption Method

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

Syntax

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

Parameters

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

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

Remarks

Následující tabulka uvádí dostupné identifikátory GUID, na které optionId může parametr odkazovat, a odpovídající platné hodnoty parametru pValue .

GUID Description pValue Parametr
MetaDataCheckDuplicatesFor Určuje, které položky se kontrolují u duplicit. Pokaždé, když zavoláte metodu IMetaDataEmit , která vytvoří novou položku, můžete požádat metodu, aby zkontrolovala, 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, že metoda v aktuálním oboru ještě neexistuje. 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 CorCheckDuplicatesFor výčtu.
MetaDataRefToDefCheck Určuje, které odkazované položky se převedou na definice. Modul metadat ve výchozím nastavení optimalizuje kód převodem odkazované položky na její definici, pokud je odkazovaná položka ve skutečnosti definována v aktuálním oboru. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu CorRefToDefCheck .
MetaDataNotificationForTokenMovement Určuje, které objekty tokenu se přemapují během sloučení metadat, generují zpětná volání. K vytvoření rozhraní IMapToken použijte IMetaDataEmit::SetHandler metoda. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot CorNotificationForTokenMovement výčtu.
MetaDataSetENC Řídí chování funkce upravit a pokračovat (ENC). Najednou je možné 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 Určuje, které chyby vygenerované mimo pořadí generují zpětná volání. Generování metadat mimo pořadí není závažné; Pokud však generujete metadata v pořadí, které je upřednostňované modulem metadat, jsou metadata kompaktnější, a proto je možné je efektivněji prohledávat. Použijte metodu IMetaDataEmit::SetHandler k vytvoření 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, načítá enumerátor. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu CorImportOptions .
MetaDataThreadSafetyOptions Určuje, zda modul metadat získá zámky pro čtení/zápis, čímž zajišťuje bezpečnost vláken. Ve výchozím nastavení modul předpokládá, že přístup je jedním vláknem volající, takže nejsou získány žádné zámky. Klienti zodpovídají za udržování správné synchronizace vláken při používání rozhraní API metadat. Musí být variantou typu UI4 a musí obsahovat hodnotu výčtu CorThreadSafetyOptions . Hodnota není bitová maska.
MetaDataGenerateTCEAdapters Určuje, jestli by měl dovozce knihovny typů generovat úzce propojené adaptéry událostí (TCE) pro kontejnery spojovacího bodu modelu COM. Musí být variantou typu BOOL. Pokud pValue je nastavena hodnota true, import knihovny typů vygeneruje adaptéry TCE.
MetaDataTypeLibImportNamespace Určuje jiný než výchozí obor názvů pro importovanou knihovnu typů. Musí to být buď hodnota null, nebo varianta 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 vygenerovat sestavení nebo soubor modulu .NET. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu CorLinkerOptions .
MetaDataRuntimeVersion Určuje verzi modulu CLR (Common Language Runtime), pro kterou byla tato image vytvořena. Verze je uložena jako řetězec, například "v1.0.3705". Musí mít hodnotu null, VT_EMPTY hodnotu nebo variantu typu BSTR. Pokud pValue je null, je verze modulu runtime nastavena na hodnotu null. Pokud pValue je VT_EMPTY, je verze nastavena na výchozí hodnotu, která se načítá z verze Mscorwks.dll, ve které je spuštěn kód metadat. V opačném případě je verze modulu runtime nastavena na řetězec, který je uložen v typu BSTR varianty.
MetaDataMergerOptions Určuje možnosti slučování metadat. Musí být variantou typu UI4 a musí obsahovat kombinaci hodnot výčtu MergeFlags , která je popsaná v souboru CorHdr.h.
MetaDataPreserveLocalRefs Zakáže optimalizaci místních odkazů do definic. Musí obsahovat kombinaci hodnot CorLocalRefPreservation výčtu.

Requirements

Nástupiště: Viz podporované operační systémy .NET.

Header: Cor.h

Library: CorGuids.lib

See also