_/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.