Condividi tramite


Metodo IMetaDataDispenserEx::SetOption

Imposta l'opzione specificata su un determinato valore per l'ambito dei metadati corrente. L'opzione controlla le modalità di gestione delle chiamate all'ambito dei metadati corrente.

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 utilizzare per impostare l'opzione. Il tipo di questo valore deve essere una variante del tipo dell'opzione specificata.

Note

Nella tabella riportata di seguito sono elencati i GUID disponibili a cui il parametro optionId può puntare e i valori validi corrispondenti per il parametro pValue.

GUID

Oggetto di descrizione

Parametro pValue

MetaDataCheckDuplicatesFor

Determina per quali elementi viene verificata la presenza di duplicati. Ogni volta che viene chiamato un metodo IMetaDataEmit che crea un nuovo elemento, è possibile chiedere al metodo di verificare se l'elemento è già presente nell'ambito corrente. Ad esempio, è possibile verificare se esistono elementi mdMethodDef. In tal caso, quando viene chiamato IMetaDataEmit::DefineMethod, verrà controllato che il metodo non esista già nell'ambito corrente. Per tale verifica viene utilizzata la chiave che identifica in modo univoco un determinato metodo, ovvero il tipo padre, il nome e la firma.

Deve essere una variante del tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorCheckDuplicatesFor.

MetaDataRefToDefCheck

Determina quali elementi a cui si fa riferimento vengono convertiti in definizioni. Per impostazione predefinita, il modulo di gestione dei metadati ottimizzerà il codice convertendo un elemento a cui si fa riferimento nella relativa definizione se tale elemento è effettivamente definito nell'ambito corrente.

Deve essere una variante del tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorRefToDefCheck.

MetaDataNotificationForTokenMovement

Determina quali nuovi mapping dei token, avvenuti durante un'unione di metadati, generano callback. Utilizzare il metodo IMetaDataEmit::SetHandler per stabilire l'interfaccia IMapToken in uso.

Deve essere una variante del tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorNotificationForTokenMovement.

MetaDataSetENC

Determina il comportamento della modalità di modifica e continuazione. È possibile impostare una sola modalità di comportamento alla volta.

Deve essere una variante del tipo UI4 e deve contenere un valore dell'enumerazione CorSetENC. Il valore non è una maschera di bit.

MetaDataErrorIfEmitOutOfOrder

Determina quali errori "generati non in ordine" producono callback. La generazione di metadati non in ordine non costituisce un errore irreversibile. Se tuttavia si effettua la generazione in un ordine preferenziale per il motore dei metadati, questi ultimi saranno più compatti e quindi sarà possibile eseguire le ricerche in modo più efficiente. Utilizzare il metodo IMetaDataEmit::SetHandler per stabilire l'interfaccia IMetaDataError in uso.

Deve essere una variante del tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorErrorIfEmitOutOfOrder.

MetaDataImportOption

Determina quali tipi di elementi, eliminati mentre era attiva una modalità di modifica e continuazione, vengono recuperati da un enumeratore.

Deve essere una variante del tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione Enumerazione CorImportOptions.

MetaDataThreadSafetyOptions

Determina se il modulo di gestione dei metadati ottiene blocchi reader/writer, garantendo così la sicurezza dei thread. Per impostazione predefinita, il motore presume che l'accesso venga effettuato mediante singolo thread dal chiamante, pertanto non vengono ottenuti blocchi. I client sono responsabili della gestione corretta della sincronizzazione fra i thread quando si utilizza l'API dei metadati.

Deve essere una variante del tipo UI4 e deve contenere un valore dell'enumerazione CorThreadSafetyOptions. Il valore non è una maschera di bit.

MetaDataGenerateTCEAdapters

Determina se l'utilità di importazione della libreria dei tipi deve generare gli adattatori TCE (Tightly Coupled Event) per i contenitori di punti di connessione COM.

Deve essere una variante del tipo BOOL. Se pValue è impostato su true, l'utilità di importazione della libreria dei tipi genererà gli adattatori TCE.

MetaDataTypeLibImportNamespace

Specifica uno spazio dei nomi non predefinito per la libreria dei tipi che si sta importando.

Deve essere un valore null o una variante del tipo BSTR. Se il valore del parametro pValue è Null, lo spazio dei nomi corrente verrà impostato su null; in caso contrario, verrà impostato sulla stringa contenuta nel tipo BSTR della variante.

MetaDataLinkerOptions

Determina se il linker deve generare un assembly o un file di modulo .NET Framework.

Deve essere una variante del tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorLinkerOptions.

MetaDataRuntimeVersion

Specifica la versione del Common Language Runtime utilizzata per compilare questa immagine. La versione è archiviata come stringa, ad esempio "v1.0.3705".

Deve essere un valore null, un valore VT_EMPTY o una variante del tipo BSTR. Se pValue è null, la versione di runtime è impostata su null. Se pValue è VT_EMPTY, la versione viene impostata su un valore predefinito, ricavato dalla versione di Mscorwks.dll nella quale è in esecuzione il codice dei metadati. In caso contrario, la versione di runtime viene impostata sulla stringa mantenuta nel tipo BSTR della variante.

MetaDataMergerOptions

Specifica opzioni per l'unione di metadati.

Deve essere una variante del tipo UI4 e contenere una combinazione dei valori dell'enumerazione MergeFlags, descritta nel file CorHdr.h.

Requisiti

Piattaforma: vedere Requisiti di sistema di .NET Framework.

Intestazione: Cor.h

Libreria: utilizzata come risorsa in MsCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vedere anche

Riferimenti

Interfaccia IMetaDataDispenserEx

Interfaccia IMetaDataDispenser