Přepínač /backward_compat
Přepínač /backward_compat směruje kompilátor MIDL tak, aby při generování procedur RPC/COM vypnul některé pokročilé funkce.
midl /backward_compat { maybenull_sizeis | zeroout_alignmentgap |
BSTR_byvalue_escaping | string_defaultvalue | signed_wchar_t }
Možnosti přepínače
maybenull_sizeis
- Použije atribut [disable_consistency_check] na celou kompilaci MIDL.
zeroout_alignmentgap
- Vypne vynulování mezer v zařazované vyrovnávací paměti.
BSTR_byvalue_escaping
- Přesměruje kompilátor MIDL na čest řídicí sekvence, jako jsou například †̃\nâ € ™ nebo â € ̃\tâ € ™ v BSTRs.
string_defaultvalue
- Vynutí kompilátor MIDL v [defaultvalue] atributy do VARIANT. VT_I4 zadejte před vynucením hodnoty do správného typu.
signed_wchar_t
- Směruje MIDL tak, aby se s typem wchar_t zacházeli jako se sadou Visual Basic.
Poznámky
maybenull_sizeis: Viz [disable_consistency_check].
zeroout_alignmentgap: Při kompilaci idLs s cílem NT60 nebo vyšší, MIDL vytvoří zástupné procedury, které vynulují všechny mezery zarovnání mezi členy nebo strukturou v vyrovnávací paměti drátu. Přepínač příkazového řádku /backward_compat zeroout_alignmentgap přesměruje MIDL na zakázání této funkce.
V následující ukázkové struktuře obsahuje vyrovnávací paměť drátu mezeru zarovnání 7 bajtů, která zarovná hyperčlen na 8 za členem znaku. S cílovou hodnotou NT60 nebo vyšší se hodnota MIDL vynuluje, pokud se nepoužije přepínač.
IDL soubor:
typedef struct _structwithgaps{ char c; // 7 byte gap to align the following hyper to 8 hyper h; } structwithgap;
Tento přepínač může poskytnout mírné zlepšení výkonu s potenciálně významným nárůstem rizika zpřístupnění.
BSTR_byvalue_escaping: Kompilátor MIDL ve výchozím nastavení nezpracuje řídicí sekvence, jako je například †̃\n†nebo â € ™ ̃\tâ € ™ v řetězcových konstantách pro OLE Automation při převodu řetězcové konstanty na typy VT_LPSTR nebo VT_LPWSTR. S touto možností zpětné kompatibility se vyhodnocují řídicí sekvence.
string_defaultvalue: Vynutí kompilátor MIDL v [defaultvalue] atributy do VARIANT. VT_I4 zadejte před vynucením hodnoty do správného typu. V některých případech to může vést ke ztrátě přesnosti, takže tato možnost přepínače se nedoporučuje.
signed_wchar_t: Nasměruje MIDL na přístup k typu wchar_t jako podepsanému z důvodu kompatibility s jazykem Visual Basic.