Compartir a través de


IMetaDataDispenserEx::SetOption (Método)

Establece la opción especificada en un valor determinado para el ámbito actual de los metadatos. La opción controla cómo deben tratarse las llamadas al ámbito de metadatos actual.

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

Parámetros

  • optionId
    [in] Puntero a un GUID que especifica la opción que se va a establecer.

  • pValue
    [in] Valor que se usa para establecer la opción. El tipo de este valor debe ser una variante del tipo de la opción especificada.

Comentarios

La tabla siguiente muestra los GUID disponibles a los que el parámetro optionId puede señalar y los valores válidos correspondientes para el parámetro pValue.

GUID

Descripción

Parámetro pValue

MetaDataCheckDuplicatesFor

Controla en qué elementos se comprueban los duplicados. Cada vez que se llama a un método IMetaDataEmit que crea un nuevo elemento, se puede pedir al método que compruebe si el elemento ya existe en el ámbito actual. Por ejemplo, se puede comprobar la existencia de elementos mdMethodDef; en este caso, al llamar a IMetaDataEmit::DefineMethod, se comprobará si el método aún no existe en el ámbito actual. Esta comprobación utiliza la clave que identifica de forma exclusiva un método determinado: tipo primario, nombre y firma.

Debe ser una variante de tipo UI4 y contener una combinación de los valores de la enumeración CorCheckDuplicatesFor.

MetaDataRefToDefCheck

Los controles que hacen referencia a elementos se convierten en definiciones. De forma predeterminada, el motor de metadatos optimizará el código convirtiendo un elemento al que se hace referencia en su definición si el elemento al que se hace referencia realmente se define en el ámbito actual.

Debe ser una variante de tipo UI4 y contener una combinación de valores de la enumeración CorRefToDefCheck.

MetaDataNotificationForTokenMovement

Controla qué reasignaciones de tokens producidas durante una combinación de metadatos generan devoluciones de llamada. Utilice el método IMetaDataEmit::SetHandler para establecer la interfaz IMapToken.

Debe ser una variante de tipo UI4 y contener una combinación de valores de la enumeración CorNotificationForTokenMovement.

MetaDataSetENC

Controla el comportamiento de editar y continuar (ENC). Los modos de comportamiento se deben establecer uno a uno.

Debe ser una variante de tipo UI4 y contener un valor de la enumeración CorSetENC. El valor no es una máscara de bits.

MetaDataErrorIfEmitOutOfOrder

Controla qué errores "emitidos fuera de secuencia" generan devoluciones de llamada. Emitir los metadatos fuera de secuencia no es grave; sin embargo, si emite los metadatos en un orden que favorece el motor de metadatos, los metadatos serán más compactos y, así, se podrán buscar más eficazmente. Utilice el método IMetaDataEmit::SetHandler para establecer la interfaz IMetaDataError.

Debe ser una variante de tipo UI4 y contener una combinación de valores de la enumeración CorErrorIfEmitOutOfOrder.

MetaDataImportOption

Controla qué tipos de elementos eliminados durante un ENC los recupera un enumerador.

Debe ser una variante de tipo UI4 y contener una combinación de los valores de la enumeración CorImportOptions (Enumeración).

MetaDataThreadSafetyOptions

Controla si el motor de metadatos obtiene bloqueos lector/escritor, garantizando de ese modo la seguridad de los subprocesos. De forma predeterminada, el motor supone que el acceso es de un único subproceso por el llamador, por lo que no se obtiene ningún bloqueo. Los clientes son responsables de mantener la correcta sincronización de los subprocesos cuando se usa la API de metadatos.

Debe ser una variante de tipo UI4 y contener un valor de la enumeración CorThreadSafetyOptions. El valor no es una máscara de bits.

MetaDataGenerateTCEAdapters

Controla si el importador de la biblioteca de tipos debería generar los adaptadores de evento herméticamente acoplados (TCE) para los contenedores de punto de conexión COM.

Debe ser una variante de tipo BOOL. Si pValue se establece en true, el importador de la biblioteca de tipos genera los adaptadores de TCE.

MetaDataTypeLibImportNamespace

Especifica un espacio de nombres no predeterminado para la biblioteca de tipos que se importa.

Debe ser o un valor nulo o una variante de tipo BSTR. Si pValue es un valor null, el espacio de nombres actual se establece en null; de lo contrario, el espacio de nombres actual se establece en la cadena que se contiene en el tipo BSTR de la variante.

MetaDataLinkerOptions

Controla si el vinculador debería generar un archivo de ensamblado o de módulo .NET Framework.

Debe ser una variante de tipo UI4 y contener una combinación de valores de la enumeración CorLinkerOptions.

MetaDataRuntimeVersion

Especifica la versión del Common Language Runtime en la que se compiló esta imagen. La versión se almacena como una cadena, por ejemplo, "v1.0.3705".

Debe ser un valor nulo, un valor VT_EMPTY o una variante de tipo BSTR. Si pValue es null, la versión del runtime está establecida en null. Si pValue es VT_EMPTY, la versión está establecida en un valor predeterminado, que se deduce de la versión de Mscorwks.dll en la que se ejecuta el código de metadatos. De lo contrario, la versión del runtime se establece en la cadena contenida en el tipo BSTR de la variante.

MetaDataMergerOptions

Especifica opciones para combinar metadatos.

Debe ser una variante de tipo UI4 y contener una combinación de los valores de la enumeración MergeFlags, que se describe en el archivo CorHdr.h.

Requisitos

Plataforma: vea Requisitos de sistema de .NET Framework.

Encabezado: Cor.h

Biblioteca: Se usa como recurso en MsCorEE.dll

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vea también

Referencia

IMetaDataDispenserEx (Interfaz)

IMetaDataDispenser (Interfaz)