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