Condividi tramite


Opzione /backward_compat

L'opzione /backward_compat indirizza il compilatore MIDL a disattivare alcune funzionalità avanzate durante la generazione di stub RPC/COM.

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

Opzioni switch

maybenull_sizeis

Applica l'attributo [disable_consistency_check] a un'intera compilazione MIDL.

zeroout_alignmentgap

Disattiva l'azzeramento delle lacune nel buffer sottoposto a marshalling.

BSTR_byvalue_escaping

Indica al compilatore MIDL di rispettare sequenze di escape, ad esempio ̃\n†™ o ̃\t†™ nelle richieste BSTR.

string_defaultvalue

Forza il compilatore MIDL a coercire le stringhe in [defaultvalue] attributi in VARIANT. VT_I4 tipo prima di forzare il valore nel tipo corretto.

signed_wchar_t

Indica a MIDL di considerare il tipo di wchar_t come firmato per la compatibilità con Visual Basic.

Osservazioni

  • maybenull_sizeis: vedere [disable_consistency_check].

  • zeroout_alignmentgap: quando gli IDL vengono compilati con nt60 o versione successiva di destinazione, MIDL creerà stub che eseguono lo zero di eventuali gap di allineamento tra i membri o una struttura nel buffer di collegamento. L'opzione della riga di comando /backward_compat zeroout_alignmentgap indirizza MIDL per disabilitare questa funzionalità.

    Nella struttura di esempio seguente, il buffer di collegamento contiene un intervallo di allineamento di 7 byte per allineare il membro hyper a 8 dopo il membro char. Con â€"target NT60 o superiore, MIDL zero out tale gap a meno che non venga usato il commutatore.

    File IDL:

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

    Questa opzione può offrire un lieve miglioramento delle prestazioni con un aumento potenzialmente significativo del rischio di divulgazione.

  • BSTR_byvalue_escaping: per impostazione predefinita, il compilatore MIDL non elabora sequenze di escape, ad esempio ̃\n†™ o ̃\t†™ nelle costanti stringa per l'automazione OLE durante la conversione di una costante stringa in tipi VT_LPSTR o VT_LPWSTR. Con questa opzione di opzione di compatibilità con le versioni precedenti, vengono valutate le sequenze di escape.

  • string_defaultvalue: forza il compilatore MIDL a coercire stringhe numeriche in [defaultvalue] attributi in VARIANT. VT_I4 tipo prima di forzare il valore nel tipo corretto. Ciò può causare la perdita di precisione in alcuni casi, quindi questa opzione di opzione non è consigliata.

  • signed_wchar_t: indirizza MIDL per considerare il tipo di wchar_t come firmato per la compatibilità con Visual Basic.