Partilhar via


Método de IMetaDataDispenserEx::SetOption

Define a opção especificada para 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.

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 definido.

  • 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.

Comentários

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

GUID

Descrição

pValueParâmetro

MetaDataCheckDuplicatesFor

Controla quais itens estão marcados para duplicatas. Cada vez que você chamar um IMetaDataEmit o método que cria um novo item, você pode pedir o 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, quando você chamar IMetaDataEmit::DefineMethod, ele verificará que o método já 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 devem conter uma combinação dos valores da CorCheckDuplicatesFor enumeração.

MetaDataRefToDefCheck

Os controles que são referenciados itens são convertidos em definições. Por padrão, o mecanismo de metadados otimizará o código pela conversão de um item referenciado sua definição se realmente, o item referenciado é definido no escopo atual.

Deve ser uma variante do tipo UI4 e devem conter uma combinação dos valores da CorRefToDefCheck enumeração.

MetaDataNotificationForTokenMovement

Controla qual token remapeia que ocorrem durante uma mesclagem de metadados gera retornos de chamada. Use o IMetaDataEmit::SetHandler método para estabelecer sua IMapToken interface.

Deve ser uma variante do tipo UI4 e devem conter uma combinação dos valores da CorNotificationForTokenMovement enumeração.

MetaDataSetENC

Controla o comportamento de edit and continue (ENC). Apenas um modo de comportamento pode ser definido por vez.

Deve ser uma variante do tipo UI4 e deve conter um valor igual a CorSetENC enumeração. O valor não é uma bitmask.

MetaDataErrorIfEmitOutOfOrder

Controla quais erros emitida-fora de ordem geram retornos de chamada. Emitir fora de ordem de metadados não é fatal; Entretanto, se você emitir metadados em uma ordem que é preferida por mecanismo de metadados, os metadados são mais compactos e, portanto, podem ser pesquisados com mais eficiência. Use o IMetaDataEmit::SetHandler método para estabelecer sua IMetaDataError interface.

Deve ser uma variante do tipo UI4 e devem conter uma combinação dos valores da CorErrorIfEmitOutOfOrder enumeração.

MetaDataImportOption

Controla quais tipos de itens que foram excluídos durante uma ENC são recuperados por um enumerador.

Deve ser uma variante do tipo UI4 e devem conter uma combinação dos valores da Enumeração de CorImportOptions enumeração.

MetaDataThreadSafetyOptions

Controla se o mecanismo de metadados obtém leitor/gravador os bloqueios, garantindo assim a segurança do thread. Por padrão, o mecanismo pressupõe que acesso single-threaded pelo chamador, portanto, os bloqueios não são obtidos. Os clientes são responsáveis por manter a sincronização de thread apropriada ao usar o API de metadados.

Deve ser uma variante do tipo UI4 e deve conter um valor igual a CorThreadSafetyOptions enumeração. O valor não é uma bitmask.

MetaDataGenerateTCEAdapters

Controla se o importador da biblioteca deve gerar os recipientes de ponto de conexão COM os adaptadores de evento estreita (TCE).

Deve ser uma variante do tipo BOOL. Se pValue for definido como true, o importador da biblioteca gera os adaptadores TCE.

MetaDataTypeLibImportNamespace

Especifica um namespace não padrão para a biblioteca de tipos que está sendo importado.

Deve ser um valor nulo ou uma variante do tipo BSTR. Se pValue é um valor nulo, o espaço para nome atual é definido como null; Caso contrário, o namespace atual é definido como a seqüência de caracteres que é mantida no tipo BSTR da variante.

MetaDataLinkerOptions

Controla se o vinculador deve gerar um assembly ou.Arquivo de módulo do NET Framework.

Deve ser uma variante do tipo UI4 e devem conter uma combinação dos valores da CorLinkerOptions enumeração.

MetaDataRuntimeVersion

Especifica a versão do common language runtime, contra a qual essa imagem foi criada. A versão é armazenada como uma seqüência de caracteres, como, por exemplo, "v 1.0.3705".

Deve ser um valor nulo, um valor VT_EMPTY ou uma variante do tipo BSTR. Se pValue é nulo, a versão de tempo de execução está definida como null. Se pValue é VT_EMPTY, a versão é definida como um valor padrão, que é desenhado a partir da versão do mscorwks. dll dentro do qual o código de metadados está em execução. Caso contrário, a versão de tempo de execução está definida para a seqüência de caracteres que é mantida no tipo BSTR da variante.

MetaDataMergerOptions

Especifica opções para a mesclagem de metadados.

Deve ser uma variante do tipo UI4 e devem conter uma combinação dos valores da MergeFlags enumeração, que é descrita no arquivo CorHdr.h.

Requisitos

Plataforma: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: Cor.h

Biblioteca: Usado como um recurso em mscoree

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Consulte também

Referência

Interface de IMetaDataDispenserEx

Interface de IMetaDataDispenser