Sdílet prostřednictvím


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.