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