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