Compartilhar via


Método IMetaDataDispenserEx::SetOption (rometadataapi.h)

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

[in] optionId

Um ponteiro para um GUID que especifica a opção a ser definida.

[in] pValue

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

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

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. 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. 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. 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. Deve ser uma variante do tipo UI4 e deve conter uma combinação dos valores da enumeração CorImportOptions .
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 for 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 é 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 de 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. Deve ser uma variante do tipo UI4 e deve conter uma combinação dos valores da enumeração MergeFlags, que é descrita no arquivo CorHdr.h.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho rometadataapi.h

Confira também

Imetadatadispenserex