Compartir a través de


IMetaDataDispenserEx::SetOption (Método)

Establece la opción especificada en un valor determinado para el ámbito actual de metadatos. Esta opción se usa para controlar cómo deben manipularse las llamadas al ámbito de metadatos actual.

Sintaxis

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 va a usar para establecer la opción. El tipo de este valor debe ser una variante del tipo de la opción especificada.

Comentarios

En la tabla siguiente se enumeran los GUID disponibles a los que el parámetro optionId puede apuntar y los valores válidos correspondientes para el parámetro pValue.

GUID Descripción pValue Parameter
MetaDataCheckDuplicatesFor Controla qué elementos se comprueban para buscar duplicados. Cada vez que se llama a un método IMetaDataEmit que crea un elemento, puede pedir al método que compruebe si el elemento ya existe en el ámbito actual. Por ejemplo, puede comprobar la existencia de elementos mdMethodDef; en este caso, al llamar a IMetaDataEmit::DefineMethod, comprobará que el método aún no existe en el ámbito actual. Esta comprobación usa la clave que identifica de forma única un método determinado: tipo primario, nombre y firma. Debe ser una variante de tipo UI4 y debe contener una combinación de los valores de la enumeración CorCheckDuplicatesFor.
MetaDataRefToDefCheck Controles en los que los elementos a los que se hace referencia se convierten en definiciones. De manera 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 se define realmente en el ámbito actual. Debe ser una variante de tipo UI4 y debe contener una combinación de los valores de la enumeración CorRefToDefCheck.
MetaDataNotificationForTokenMovement Controla qué reasignación de tokens se produce durante una combinación de metadatos que genera devoluciones de llamada. Use el método IMetaDataEmit::SetHandler para establecer la interfaz IMapToken. Debe ser una variante de tipo UI4 y debe contener una combinación de los valores de la enumeración CorNotificationForTokenMovement.
MetaDataSetENC Controla el comportamiento de la opción editar y continuar (ENC). Solo se puede establecer un modo de comportamiento a la vez. 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 los errores emitidos de manera desordenada que generan devoluciones de llamada. La emisión de metadatos de manera desordenada no es grave; pero si emite metadatos en un orden preferente del motor de metadatos, estos serán más compactos y, por tanto, se podrán buscar de forma más eficaz. Use el método IMetaDataEmit::SetHandler para establecer la interfaz IMetaDataError. Debe ser una variante de tipo UI4 y contener una combinación de los valores de la enumeración CorErrorIfEmitOutOfOrder.
MetaDataImportOption Controla qué tipos de elementos que se han eliminado durante una ENC ha recuperado un enumerador. Debe ser una variante de tipo UI4 y contener una combinación de los valores de la enumeración CorImportOption.
MetaDataThreadSafetyOptions Controla si el motor de metadatos obtiene bloqueos de lector y escritor, lo que garantiza la seguridad de los subprocesos. De manera predeterminada, el motor asume que el autor de la llamada obtiene acceso de un solo subproceso, por lo que no se obtienen bloqueos. Los clientes son responsables de mantener la sincronización de subprocesos adecuada al usar 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 debe generar los adaptadores de eventos estrechamente acoplados (TCE) para los contenedores de puntos 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 va a importar. Debe ser un valor null 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 mantiene en el tipo BSTR de la variante.
MetaDataLinkerOptions Controla si el enlazador debe generar un ensamblado o un archivo de módulo de .NET Framework. Debe ser una variante de tipo UI4 y contener una combinación de los valores de la enumeración CorLinkerOptions.
MetaDataRuntimeVersion Especifica la versión de Common Language Runtime con la que se ha creado esta imagen. La versión se almacena como una cadena; por ejemplo, "v1.0.3705". Debe ser un valor null, un valor VT_EMPTY o una variante de tipo BSTR. Si pValue es null, la versión del runtime se establece en null. Si pValue es VT_EMPTY, la versión se establece en un valor predeterminado, que se extrae 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 que se mantiene 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.
MetaDataPreserveLocalRefs Deshabilita la optimización de las referencias locales en definiciones. Debe contener una combinación de los valores de la enumeración CorLocalRefPreservation.

Requisitos

Plataforma: vea Requisitos del sistema.

Encabezado: Cor.h

Biblioteca: usada como recurso en MsCorEE.dll

Versiones de .NET Framework: está disponible desde la versión 1.0

Consulte también