Metodo IMetaDataDispenserEx::SetOption
Imposta l'opzione specificata su un valore specificato per l'ambito dei metadati corrente. L'opzione controlla come vengono gestite le chiamate all'ambito dei metadati corrente.
Sintassi
HRESULT SetOption (
[in] REFGUID optionId,
[in] const VARIANT *pValue
);
Parametri
optionId
[in] Puntatore a un GUID che specifica l'opzione da impostare.
pValue
[in] Valore da usare per impostare l'opzione. Il tipo di questo valore deve essere una variante del tipo di opzione specificato.
Commenti
Nella tabella seguente sono elencati i GUID disponibili a cui il optionId
parametro può puntare e i valori validi corrispondenti per il pValue
parametro.
GUID | Descrizione | pValue Parametro |
---|---|---|
MetaDataCheckDuplicatesFor | Controlla quali elementi vengono controllati per i duplicati. Ogni volta che si chiama un metodo IMetaDataEmit che crea un nuovo elemento, è possibile chiedere al metodo di verificare se l'elemento esiste già nell'ambito corrente. Ad esempio, è possibile verificare l'esistenza di mdMethodDef elementi. In questo caso, quando si chiama IMetaDataEmit::D efineMethod, il metodo non esiste già nell'ambito corrente. Questo controllo usa la chiave che identifica in modo univoco un determinato metodo: tipo padre, nome e firma. |
Deve essere una variante di tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorCheckDuplicatesFor . |
MetaDataRefToDefCheck | I controlli a cui si fa riferimento vengono convertiti in definizioni. Per impostazione predefinita, il motore di metadati ottimizza il codice convertendo un elemento a cui si fa riferimento alla relativa definizione se l'elemento a cui si fa riferimento è effettivamente definito nell'ambito corrente. | Deve essere una variante di tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorRefToDefCheck . |
MetaDataNotificationForTokenMovement | Controlla quali mapping dei token si verificano durante un'unione di metadati generano callback. Usare il metodo IMetaDataEmit::SetHandler per stabilire l'interfaccia IMapToken . | Deve essere una variante di tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorNotificationForTokenMovement . |
MetaDataSetENC | Controlla il comportamento di modifica e continuazione (ENC). È possibile impostare una sola modalità di comportamento alla volta. | Deve essere una variante di tipo UI4 e deve contenere un valore dell'enumerazione CorSetENC . Il valore non è una maschera di bit. |
MetaDataErrorIfEmitOutOfOrder | I controlli che generano errori non ordinati generano callback. L'emissione di metadati non è irreversibile; tuttavia, se si generano metadati in un ordine preferito dal motore di metadati, i metadati sono più compattati e pertanto possono essere ricercati in modo più efficiente. Usare il metodo per stabilire l'interfaccia IMetaDataEmit::SetHandler IMetaDataError . |
Deve essere una variante di tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorErrorIfEmitOutOfOrder . |
MetaDataImportOption | Controlla quali tipi di elementi eliminati durante un ENC vengono recuperati da un enumeratore. | Deve essere una variante di tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorImportOptions . |
MetaDataThreadSafetyOptions | Controlla se il motore di metadati ottiene blocchi lettore/writer, garantendo così la sicurezza dei thread. Per impostazione predefinita, il motore presuppone che l'accesso sia a thread singolo dal chiamante, quindi non vengono ottenuti blocchi. I client sono responsabili della gestione corretta della sincronizzazione dei thread quando si usa l'API dei metadati. | Deve essere una variante di tipo UI4 e deve contenere un valore dell'enumerazione CorThreadSafetyOptions . Il valore non è una maschera di bit. |
MetaDataGenerateTCEAdapters | Controlla se l'utilità di importazione della libreria dei tipi deve generare gli adattatori TCE (tight coupled event) per i contenitori del punto di connessione COM. | Deve essere una variante di tipo BOOL. Se pValue è impostato su true , l'utilità di importazione della libreria dei tipi genera gli adattatori TCE. |
MetaDataTypeLibImportNamespace | Specifica uno spazio dei nomi non predefinito per la libreria dei tipi che viene importata. | Deve essere un valore Null o una variante di tipo BSTR. Se è un valore Null, lo spazio dei nomi corrente è impostato su Null. In pValue caso contrario, lo spazio dei nomi corrente viene impostato sulla stringa contenuta nel tipo BSTR della variante. |
MetaDataLinkerOptions | Controlla se il linker deve generare un assembly o un file di modulo .NET Framework. | Deve essere una variante di tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorLinkerOptions . |
MetaDataRuntimeVersion | Specifica la versione di Common Language Runtime in base alla quale è stata compilata l'immagine. La versione viene archiviata come stringa, ad esempio "v1.0.3705". | Deve essere un valore Null, un valore VT_EMPTY o una variante di tipo BSTR. Se pValue è Null, la versione di runtime è impostata su Null. Se pValue è VT_EMPTY, la versione è impostata su un valore predefinito, che viene disegnato dalla versione di Mscorwks.dll in cui è in esecuzione il codice dei metadati. In caso contrario, la versione di runtime è impostata sulla stringa contenuta nel tipo BSTR della variante. |
MetaDataMergerOptions | Specifica le opzioni per l'unione dei metadati. | Deve essere una variante di tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione MergeFlags , descritta nel file CorHdr.h. |
MetaDataPreserveLocalRefs | Disabilita l'ottimizzazione dei riferimenti locali nelle definizioni. | Deve contenere una combinazione dei valori dell'enumerazione CorLocalRefPreservation . |
Requisiti
Piattaforma: Vedere Requisiti di sistema.
Intestazione: Cor.h
Libreria: Usato come risorsa in MsCorEE.dll
Versioni di .NET Framework: Disponibile da 1.0