Partilhar 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 [em] Um ponteiro para um GUID que especifica a opção a ser definida.

pValue [em] 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. Cada vez 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, neste caso, quando você chama 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 Controla quais itens referenciados 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 que 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 de edit-and-continue (ENC). Apenas um modo de comportamento pode ser definido de cada 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 Os 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 que é favorecida pelo mecanismo de metadados, os metadados são mais compactos e, portanto, podem ser pesquisados de forma mais eficiente. 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 CorImportOptions Enumeration .
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 assume que o acesso é de thread único pelo chamador, portanto, nenhum bloqueio é obtido. Os clientes são responsáveis por manter a sincronização de threads 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 evento firmemente acoplados (TCE) 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 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 null, 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 em relação ao qual esta 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 null, a versão do tempo de execução será definida como null. Se pValue for VT_EMPTY, a versão será definida como um valor padrão, que é extraído da versão do Mscorwks.dll na qual o código de metadados está sendo executado. Caso contrário, a versão de tempo de execução é definida como a cadeia de caracteres que é 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 suportados pelo .NET.

Header: Cor.h

Library: CorGuids.lib

See also