Partilhar via


Método IMetaDataDispenserEx::SetOption

Define a opção especificada para um determinado valor para o âmbito de metadados atual. A opção controla a forma como as chamadas para o âmbito dos metadados atuais são processadas.

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

pValue
[in] O valor a utilizar para definir a opção. O tipo deste valor tem de ser uma variante do tipo da opção especificada.

Observações

A tabela seguinte 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 os itens que são verificados para duplicados. Sempre que chamar um método IMetaDataEmit que cria um novo item, pode pedir ao método para verificar se o item já existe no âmbito atual. Por exemplo, pode verificar a existência de mdMethodDef itens; neste caso, quando chamar IMetaDataEmit::D efineMethod, verificará se o método ainda não existe no âmbito atual. Esta verificação utiliza a chave que identifica exclusivamente um determinado método: tipo principal, nome e assinatura. Tem de ser uma variante do tipo UI4 e tem de conter uma combinação dos valores da enumeração CorCheckDuplicatesFor .
MetaDataRefToDefCheck Controlos que itens referenciados são convertidos em definições. Por predefinição, o motor de metadados irá otimizar o código ao converter um item referenciado na respetiva definição se o item referenciado for realmente definido no âmbito atual. Tem de ser uma variante do tipo UI4 e tem de conter uma combinação dos valores da enumeração CorRefToDefCheck .
MetaDataNotificationForTokenMovement Controla os remaps de token que ocorrem durante uma intercalação de metadados que geram chamadas de retorno. Utilize o método IMetaDataEmit::SetHandler para estabelecer a interface IMapToken . Tem de ser uma variante do tipo UI4 e tem de conter uma combinação dos valores da enumeração CorNotificationForTokenMovement .
MetaDataSetENC Controla o comportamento da edição e da continuação (ENC). Apenas um modo de comportamento pode ser definido de cada vez. Tem de ser uma variante do tipo UI4 e tem de conter um valor da enumeração CorSetENC . O valor não é uma máscara de bits.
MetaDataErrorIfEmitOutOfOrder Controla que erros emitidos fora de ordem geram chamadas de retorno. A emissão de metadados fora de ordem não é fatal; no entanto, se emitir metadados por uma ordem que é favorecida pelo motor de metadados, os metadados são mais compactos e, portanto, podem ser pesquisados de forma mais eficiente. Utilize o IMetaDataEmit::SetHandler método para estabelecer a interface IMetaDataError . Tem de ser uma variante do tipo UI4 e tem de conter uma combinação dos valores da enumeração CorErrorIfEmitOutOfOrder .
MetaDataImportOption Controla que tipos de itens que foram eliminados durante um ENC são obtidos por um enumerador. Tem de ser uma variante do tipo UI4 e tem de conter uma combinação dos valores da enumeração De enumeração CorImportOptions .
MetaDataThreadSafetyOptions Controla se o motor de metadados obtém bloqueios de leitor/escritor, garantindo assim a segurança dos threads. Por predefinição, o motor assume que o acesso é por thread único pelo autor da chamada, pelo que não são obtidos bloqueios. Os clientes são responsáveis por manter a sincronização de threads adequada ao utilizar a API de metadados. Tem de ser uma variante do tipo UI4 e tem de 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 eventos (TCE) bem acoplados para contentores de pontos de ligação COM. Tem de ser uma variante do tipo BOOL. Se pValue estiver definido como true, o importador da biblioteca de tipos gera os adaptadores TCE.
MetaDataTypeLibImportNamespace Especifica um espaço de nomes não predefinido para a biblioteca de tipos que está a ser importada. Tem de ser um valor nulo ou uma variante do tipo BSTR. Se pValue for um valor nulo, o espaço de nomes atual está definido como nulo; caso contrário, o espaço de nomes atual é definido para a cadeia que é mantida no tipo BSTR da variante.
MetaDataLinkerOptions Controla se o linker deve gerar uma assemblagem ou um ficheiro de módulo .NET Framework. Tem de ser uma variante do tipo UI4 e tem de conter uma combinação dos valores da enumeração CorLinkerOptions .
MetaDataRuntimeVersion Especifica a versão do runtime de idioma comum no qual esta imagem foi criada. A versão é armazenada como uma cadeia, como "v1.0.3705". Tem de ser um valor nulo, um valor VT_EMPTY ou uma variante do tipo BSTR. Se pValue for nulo, a versão do runtime está definida como nula. Se pValue for VT_EMPTY, a versão está definida para um valor predefinido, que é extraído da versão do Mscorwks.dll em que o código de metadados está em execução. Caso contrário, a versão do runtime está definida para a cadeia que é mantida no tipo BSTR da variante.
MetaDataMergerOptions Especifica opções para intercalar metadados. Tem de ser uma variante do tipo UI4 e tem de conter uma combinação dos valores da MergeFlags enumeração, descrita no ficheiro CorHdr.h.
MetaDataPreserveLocalRefs Desativa a otimização de referências locais em definições. Tem de conter uma combinação dos valores da enumeração CorLocalRefPreservation .

Requisitos

Plataforma: Veja Requisitos do Sistema.

Cabeçalho: Cor.h

Biblioteca: Utilizado como recurso no MsCorEE.dll

.NET Framework Versões: Disponível desde 1.0

Ver também