Share via


Método IMetaDataDispenserEx::SetOption

Define a opção especificada como um dado valor para o escopo atual de metadados. A opção controla como as chamadas para o escopo de metadados atual são tratadas.

Sintaxe

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

Parâmetros

optionId
[in] Um ponteiro para um GUID que especifica a opção a ser definida.

pValue
[in] O valor a ser usado para definir a opção. O tipo desse valor precisa ser uma variante do tipo da opção especificada.

Comentários

A tabela a seguir lista os GUIDs disponíveis para os quais o parâmetro optionId pode apontar e os valores válidos correspondentes para o parâmetro pValue.

GUID Descrição pValue Parâmetro
MetaDataCheckDuplicatesFor Controla quais itens são verificados quanto a duplicatas. Cada vez que você chama um método IMetaDataEmit que cria um novo item, você pode pedir ao método para verificar se o item já existe no escopo atual. Por exemplo, você pode verificar a existência de itens mdMethodDef. Nesse caso, ao chamar IMetaDataEmit::D efineMethod, ele verificará se o método ainda não existe no escopo atual. Essa verificação usa a chave que identifica exclusivamente um determinado método: tipo pai, nome e assinatura. Precisa ser uma variante do tipo UI4 e conter uma combinação dos valores da enumeração CorCheckDuplicatesFor.
MetaDataRefToDefCheck Controles que referenciam itens são convertidos em definições. Por padrão, o mecanismo de metadados otimizará o código convertendo um item referenciado na sua definição se ele for realmente definido no escopo atual. Precisa ser uma variante do tipo UI4 e conter uma combinação dos valores da enumeração CorRefToDefCheck.
MetaDataNotificationForTokenMovement Controla quais remapeamentos de token ocorrem durante uma mesclagem de metadados geram retornos de chamada. Use o método IMetaDataEmit::SetHandler para estabelecer sua interface IMapToken. Precisa ser uma variante do tipo UI4 e conter uma combinação dos valores da enumeração CorNotificationForTokenMovement.
MetaDataSetENC Controla o comportamento do ENC (editar e continuar). Somente um modo de comportamento pode ser definido por vez. Precisa ser uma variante do tipoUI4 e conter um valor da enumeração CorSetENC. O valor não é uma máscara de bits.
MetaDataErrorIfEmitOutOfOrder Controles que emitiam erros fora de ordem geram retornos de chamada. Emitir metadados fora de ordem não é fatal; no entanto, se você emitir metadados em uma ordem favorecida pelo mecanismo de metadados, os metadados serão mais compactos e, portanto, poderão ser pesquisados com mais eficiência. Use o método IMetaDataEmit::SetHandler para estabelecer sua interface IMetaDataError. Precisa ser uma variante do tipo UI4 e conter uma combinação dos valores da enumeração CorErrorIfEmitOutOfOrder.
MetaDataImportOption Controla quais tipos de itens excluídos durante um ENC são recuperados por um enumerador. Precisa ser uma variante do tipo UI4 e conter uma combinação dos valores da enumeração CorImportOptions Enumeration.
MetaDataThreadSafetyOptions Controla se o mecanismo de metadados obtém bloqueios de leitor/gravador, garantindo assim o acesso thread-safe. Por padrão, o mecanismo pressupõe que o acesso tenha thread único pelo chamador, portanto, nenhum bloqueio é obtido. Os clientes são responsáveis por manter a sincronização de thread adequada ao usar a API de metadados. Precisa ser uma variante do tipo UI4 e conter um valor da enumeração CorThreadSafetyOptions. O valor não é uma máscara de bits.
MetaDataGenerateTCEAdapters Controla se o importador de biblioteca de tipos deve gerar os adaptadores de TCE (evento acoplado) firmemente para contêineres de ponto de conexão COM. Precisa ser uma variante do tipo BOOL. Se pValue estiver definido como true, o importador de biblioteca de tipos gerará os adaptadores do TCE.
MetaDataTypeLibImportNamespace Especifica um namespace não padrão para a biblioteca de tipos que está sendo importada. Precisa ser um valor nulo ou uma variante do tipo BSTR. Se pValue for um valor nulo, o namespace atual será definido como nulo; caso contrário, o namespace atual será definido como a cadeia de caracteres mantida no tipo BSTR da variante.
MetaDataLinkerOptions Controla se o vinculador deve gerar um assembly ou um arquivo de módulo .NET Framework. Precisa ser uma variante do tipo UI4 e conter uma combinação dos valores da enumeração CorLinkerOptions.
MetaDataRuntimeVersion Especifica a versão doCommon Language Runtime em que essa imagem foi criada. A versão é armazenada como uma cadeia de caracteres, como "v1.0.3705". Precisa ser um valor nulo, um valor VT_EMPTY ou uma variante do tipo BSTR. Se pValue for nulo, a versão do runtime será definida como nula. Se pValue for VT_EMPTY, a versão será definida como um valor padrão, que é extraído da versão do Mscorwks.dll no qual o código de metadados está em execução. Caso contrário, a versão do runtime será definida como a cadeia de caracteres mantida no tipo BSTR da variante.
MetaDataMergerOptions Especifica opções para mesclar metadados. Precisa ser uma variante do tipo UI4 e conter uma combinação dos valores da enumeração MergeFlags, descrita no arquivo CorHdr.h.
MetaDataPreserveLocalRefs Desabilita a otimização de referências locais em definições. Precisa conter uma combinação dos valores da enumeração CorLocalRefPreservation.

Requisitos

Plataforma: ver requisitos do sistema.

Cabeçalho: Cor.h

Biblioteca: usada como um recurso na MsCorEE.dll

Versões do .NET Framework: Disponíveis desde a versão 1.0

Confira também