Condividi tramite


Metodo IMetaDataDispenserEx::SetOption (rometadataapi.h)

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

Sintassi

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

Parametri

[in] optionId

Puntatore a un GUID che specifica l'opzione da impostare.

[in] pValue

Valore da utilizzare per impostare l'opzione . Il tipo di questo valore deve essere una variante del tipo di opzione specificato.

Valore restituito

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

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

GUID Descrizione pValue Parametro
MetaDataCheckDuplicatesFor Controlla quali elementi vengono controllati per i duplicati. Deve essere una variante di tipo UI4 e deve contenere una combinazione dei valori dell'enumerazione CorCheckDuplicatesFor .
MetaDataRefToDefCheck Controlli a cui si fa riferimento gli elementi vengono convertiti in definizioni. Per impostazione predefinita, il motore di metadati ottimizza il codice convertendo un elemento a cui si fa riferimento nella 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 il mapping dei token che si verificano durante un'unione di metadati genera callback. 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 di callback generati non in ordine. L'emissione di metadati non in ordine non è irreversibile; Tuttavia, se si generano metadati in un ordine preferito dal motore di metadati, i metadati sono più compatta e pertanto possono essere ricercati in modo più efficiente. 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 dei metadati ottiene blocchi reader/writer, garantendo in tal modo la thread safety. Per impostazione predefinita, il motore presuppone che l'accesso sia a thread singolo dal chiamante, quindi non viene ottenuto alcun blocco. 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 (Tightly Coupled Event) per i contenitori dei punti 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 da importare. Deve essere un valore Null o una variante di tipo BSTR. Se pValue è un valore Null, lo spazio dei nomi corrente viene impostato su Null; in 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 viene 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.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione rometadataapi.h

Vedi anche

IMetaDataDispenserEx