Compartilhar via


IMetaDataDispenserEx::SetOption Method

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

Syntax

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

Parameters

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 deve ser uma variante do tipo da opção especificada.

Remarks

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

GUID Description pValue Parâmetro
MetaDataCheckDuplicatesFor Controla quais itens são verificados quanto a duplicatas. Sempre que você chamar 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 mdMethodDef itens; 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. Deve ser uma variante do tipo UI4 e deve conter uma combinação dos valores da enumeração CorCheckDuplicatesFor .
MetaDataRefToDefCheck Controles que referenciaram itens são convertidos em definições. Por padrão, o mecanismo de metadados otimizará o código convertendo um item referenciado em sua definição se o item referenciado for realmente definido no escopo atual. Deve ser uma variante do tipo UI4 e deve 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 . Deve ser uma variante do tipo UI4 e deve conter uma combinação dos valores da enumeração CorNotificationForTokenMovement .
MetaDataSetENC Controla o comportamento do ENC (edit-and-continue). Somente um modo de comportamento pode ser definido por vez. Deve ser uma variante do tipo UI4 e deve conter um valor da enumeração CorSetENC . O valor não é uma máscara de bits.
MetaDataErrorIfEmitOutOfOrder Controles que emitiram 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 IMetaDataEmit::SetHandler método para estabelecer sua interface IMetaDataError . Deve ser uma variante do tipo UI4 e deve conter uma combinação dos valores da enumeração CorErrorIfEmitOutOfOrder .
MetaDataImportOption Controla quais tipos de itens que foram excluídos durante um ENC são recuperados por um enumerador. Deve ser uma variante do tipo UI4 e deve conter uma combinação dos valores da enumeração Enumeração CorImportOptions .
MetaDataThreadSafetyOptions Controla se o mecanismo de metadados obtém bloqueios de leitor/gravador, garantindo assim a segurança do thread. Por padrão, o mecanismo pressupõe que o acesso seja encadeado ú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. Deve ser uma variante do tipo UI4 e deve 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) para contêineres de ponto de conexão COM. Deve 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. Deve 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. Deve ser uma variante do tipo UI4 e deve conter uma combinação dos valores da enumeração CorLinkerOptions .
MetaDataRuntimeVersion Especifica a versão do common language runtime na qual essa imagem foi criada. A versão é armazenada como uma cadeia de caracteres, como "v1.0.3705". Deve 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 de Mscorwks.dll em que o código de metadados está em execução. Caso contrário, a versão de runtime será definida como a cadeia de caracteres mantida no tipo BSTR da variante.
MetaDataMergerOptions Especifica opções para mesclar metadados. Deve ser uma variante do tipo UI4 e deve conter uma combinação dos valores da MergeFlags enumeração, que é descrita no arquivo CorHdr.h.
MetaDataPreserveLocalRefs Desabilita a otimização de referências locais em definições. Deve conter uma combinação dos valores da enumeração CorLocalRefPreservation .

Requirements

Plataforma: Consulte sistemas operacionais com suporte do .NET.

Header: Cor.h

Library: CorGuids.lib

See also