Partilhar via


/backward_compat Interruptor

A opção /backward_compat direciona o compilador MIDL para desativar alguns recursos avançados ao gerar stubs RPC/COM.

midl /backward_compat { maybenull_sizeis | zeroout_alignmentgap | 
     BSTR_byvalue_escaping | string_defaultvalue | signed_wchar_t }

Opções de comutação

maybenull_sizeis

Aplica o atributo [disable_consistency_check] a uma compilação MIDL inteira.

zeroout_alignmentgap

Desativa a eliminação de lacunas no buffer empacotado.

BSTR_byvalue_escaping

Direciona o compilador MIDL para honrar sequências de escape como †̃ ̃\n†™ ou †̃\t†™ em BSTRs.

string_defaultvalue

Força o compilador MIDL a coagir cadeias de caracteres em atributos de [defaultvalue] em VARIANT. VT_I4 digite antes de coagir o valor para o tipo correto.

signed_wchar_t

Direciona o MIDL para tratar o tipo de wchar_t como assinado para compatibilidade com o Visual Basic.

Comentários

  • maybenull_sizeis: Ver [disable_consistency_check].

  • zeroout_alignmentgap: Quando os IDLs são compilados com o destino NT60 ou superior, o MIDL criará stubs que eliminam quaisquer lacunas de alinhamento entre membros ou uma estrutura no buffer de fio. A opção de linha de comando /backward_compat zeroout_alignmentgap direciona o MIDL para desativar esse recurso.

    No exemplo de estrutura a seguir, o buffer de fio contém uma lacuna de alinhamento de 7 bytes para alinhar o hipermembro a 8 após o membro char. Com o destino NT60 ou superior, o MIDL zerará essa lacuna, a menos que o switch seja usado.

    Arquivo IDL:

    typedef struct _structwithgaps{
        char c;
        // 7 byte gap to align the following hyper to 8 
        hyper h;
    } structwithgap;
    

    Esta mudança pode proporcionar uma ligeira melhoria de desempenho com aumentos potencialmente significativos no risco de divulgação.

  • BSTR_byvalue_escaping: Por padrão, o compilador MIDL não processa sequências de escape como †̃\n†™ ou †̃\t†™ em constantes de cadeia de caracteres para automação OLE ao converter uma constante de cadeia de caracteres para tipos VT_LPSTR ou VT_LPWSTR. Com esta opção de opção de compatibilidade com versões anteriores, as sequências de escape são avaliadas.

  • string_defaultvalue: Força o compilador MIDL a coagir cadeias numéricas em atributos de [defaultvalue] em VARIANT. VT_I4 digite antes de coagir o valor para o tipo correto. Isto pode levar à perda de precisão em alguns casos, pelo que esta opção de comutação não é recomendada.

  • signed_wchar_t: Direciona o MIDL para tratar o tipo de wchar_t como assinado para compatibilidade com o Visual Basic.