/backward_compat Switch
Der Schalter /backward_compat 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_alignmentgap
- Deaktiviert das Nullen von Lücken im gemarshallten Puffer.
BSTR_byvalue_escaping
- Weist den MIDL-Compiler an, Escapesequenzen wie †̃\n††™ oder †̃\t†™ in BSTRs zu berücksichtigen.
string_defaultvalue
- Erzwingt, dass der MIDL-Compiler Zeichenfolgen in [defaultvalue] -Attributen in VARIANT umfasst. VT_I4 Typ, bevor Sie den Wert in den richtigen Typ umwandeln.
signed_wchar_t
- Weist MIDL an, den wchar_t-Typ aus Gründen der Kompatibilität mit Visual Basic als signiert zu behandeln.
Bemerkungen
maybenull_sizeis: Siehe [disable_consistency_check].
zeroout_alignmentgap: Wenn IDLs mit â€"target NT60 oder höher kompiliert werden, erstellt MIDL Stubs, die alle Ausrichtungslücken zwischen Elementen oder einer Struktur im Drahtpuffer auf null setzen. Der Befehlszeilenschalter /backward_compat zeroout_alignmentgap weist MIDL an, dieses Feature zu deaktivieren.
In der folgenden Beispielstruktur enthält der Drahtpuffer eine Ausrichtungslücke von 7 Byte, um den Hypermember nach dem char-Element an 8 auszurichten. Mit â€"-Ziel NT60 oder höher löst MIDL diese Lücke auf, es sei denn, der Switch 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 eine leichte Leistungsverbesserung mit potenziell erheblichen Erhöhungen des Offenlegungsrisikos bieten.
BSTR_byvalue_escaping: Standardmäßig verarbeitet der MIDL-Compiler keine Escapesequenzen wie †̃\n††™ oder †̃\t†™ in Zeichenfolgenkonstanten für OLE-Automatisierung, wenn eine Zeichenfolgenkonstante in Typen VT_LPSTR oder VT_LPWSTR konvertiert wird. Mit dieser Abwärtskompatibilitätsoption werden die Escapesequenzen ausgewertet.
string_defaultvalue: Erzwingt, dass der MIDL-Compiler numerische Zeichenfolgen in [defaultvalue] -Attributen in VARIANT umfasst. VT_I4 Typ, bevor Sie den Wert in den richtigen Typ umwandeln. Dies kann in einigen Fällen zu Genauigkeitsverlusten führen, sodass diese Option nicht empfohlen wird.
signed_wchar_t: Weist MIDL an, den wchar_t-Typ aus Gründen der Kompatibilität mit Visual Basic als signiert zu behandeln.