Freigeben über


/backward_compat Switch

Der Switch /backward_compat leitet den MIDL-Compiler an, um einige erweiterte Features beim Generieren von RPC/COM-Stubs zu deaktivieren.

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

Optionen wechseln

maybenull_sizeis

Wendet das [disable_consistency_check] Attribut auf eine gesamte MIDL-Kompilierung an.

zeroout_alignmentgap

Deaktiviert das Nullen von Lücken im gemarstischen Puffer.

BSTR_byvalue_escaping

Leitet den MIDL-Compiler an, Escapesequenzen wie †̃\n†™ oder †̃\t†™ in BSTRs zu berücksichtigen.

string_defaultvalue

Erzwingt den MIDL-Compiler, Zeichenfolgen in [Standardwert] Attribute in VARIANT zu koerzen. VT_I4 Typ, bevor der Wert in den richtigen Typ umgewandelt wird.

signed_wchar_t

Leitet MIDL zur Behandlung des wchar_t Typs als signiert zur Kompatibilität mit Visual Basic an.

Bemerkungen

  • maybenull_sizeis: Siehe [disable_consistency_check].

  • zeroout_alignmentgap: Wenn IDLs mit dem Ziel NT60 oder höher kompiliert werden, erstellt MIDL Stubs, die alle Ausrichtungslücken zwischen Elementen oder einer Struktur im Drahtpuffer nullen. Der Befehlszeilenschalter /backward_compat zeroout_alignmentgap leitet MIDL an, um dieses Feature zu deaktivieren.

    In der folgenden Beispielstruktur enthält der Drahtpuffer eine 7 Byte-Ausrichtungslücke, um das Hyperelement nach dem Zeichenelement an 8 auszurichten. Mit â€"target NT60 or higher, MIDL will zero out that gap unless the switch is used.

    IDL-Datei:

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

    Dieser Switch kann eine leichte Leistungsverbesserung mit potenziell erheblichen Erhöhungen des Offenlegungsrisikos bieten.

  • BSTR_byvalue_escaping: Standardmäßig verarbeitet der MIDL-Compiler escapesequenzen wie †̃\n†™ oder †̃\t†™ in Zeichenfolgenkonstanten für DIE OLE-Automatisierung beim Konvertieren einer Zeichenfolgenkonstante in Typen VT_LPSTR oder VT_LPWSTR. Mit dieser Option zur Abwärtskompatibilität werden die Escapesequenzen ausgewertet.

  • string_defaultvalue: Erzwingt den MIDL-Compiler, numerische Zeichenfolgen in [Standardwert] Attribute in VARIANT zu koerieren. VT_I4 Typ, bevor der Wert in den richtigen Typ umgewandelt wird. Dies kann in einigen Fällen zu einem Genauigkeitsverlust führen, daher wird diese Option nicht empfohlen.

  • signed_wchar_t: Leitet MIDL zur Behandlung des wchar_t Typs als signiert für die Kompatibilität mit Visual Basic an.