_/backward compat Switch

Der _ /backward-Kompatibilitätsschalter weist den MIDL-Compiler an, 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-Ausrichtungslücke

Deaktiviert das Aufstellen von Lücken im gemarshallten Puffer.

_ _ BSTR-Byvalue-Kapselung

Weist den MIDL-Compiler an, Escapesequenzen wie †\ n’ oder †â \ t’ in BSTRs zu achten.

string _ defaultvalue

Erzwingt, dass der MIDL-Compiler Zeichenfolgen in [ ] defaultvalue-Attributen in VARIANT einreiht. VT _ I4-Typ, bevor der Wert in den richtigen Typ umgewandelt wird.

_signed wchar _ t

Weist MIDL an, den wchar t-Typ aus Gründen der Kompatibilität mit Visual Basic als signiert zu _ behandeln.

Hinweise

  • maybenull _ sizeis: Siehe [ Deaktivieren der _ _ ] Konsistenzprüfung.

  • zeroout _ alignmentgap: Wenn IDLs mit â€"target NT60 oder höher kompiliert werden, erstellt MIDL Stubs, die keine Ausrichtungslücken zwischen Membern oder einer Struktur im Kabelpuffer ausschließen. Der Befehlszeilenschalter /backward _ compat zeroout _ alignmentgap weist MIDL an, dieses Feature zu deaktivieren.

    In der folgenden Beispielstruktur enthält der Kabelpuffer eine Ausrichtungslücke von 7 Byte, um den Hypermember nach dem char-Member auf 8 auszurichten. Mit dem Ziel NT60 oder höher schließt MIDL diese Lücke auf null, es sei denn, der Schalter wird verwendet.

    IDL-Datei:

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

    Dieser Wechsel kann zu einer geringfügigen Leistungsverbesserung mit potenziell erheblich erhöhten Offenlegungsrisiken führen.

  • BSTR _ _ byvalue-Escapezeichen: Standardmäßig verarbeitet der MIDL-Compiler keine Escapesequenzen wie †\ nâ €™ oder †â \ €™ in Zeichenfolgenkonstanten für OLE Automation, wenn eine Zeichenfolgenkonstante in die Typen VT _ LPSTR oder VT _ LPWSTR konvertiert wird. Mit dieser Option für die Abwärtskompatibilität werden die Escapesequenzen ausgewertet.

  • string _ defaultvalue: Erzwingt, dass der MIDL-Compiler numerische Zeichenfolgen in [ ] defaultvalue-Attributen in VARIANT umgewandelt. 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: Weist MIDL an, den wchar t-Typ aus Gründen der Kompatibilität mit Visual Basic als signiert zu _ behandeln.