Megosztás a következőn keresztül:


/backward_compat kapcsoló

A /backward_compat kapcsoló arra utasítja a MIDL fordítót, hogy kikapcsoljon néhány speciális funkciót az RPC/COM-csonkok létrehozásakor.

midl /backward_compat { maybenull_sizeis | zeroout_alignmentgap | 
     BSTR_byvalue_escaping | string_defaultvalue | signed_wchar_t }

Kapcsoló beállításai

maybenull_sizeis

Alkalmazza a [disable_consistency_check] attribútumot egy teljes MIDL-fordításra.

zeroout_alignmentgap

Kikapcsolja a hézagok nullázását a marshaled pufferben.

BSTR_byvalue_escaping

Átirányítja a MIDL fordítót a menekülési sorozatok tiszteletére, mint például a â € ̃\nâ € ™ vagy â € ̃\t†™ a BSTR-ben.

string_defaultvalue

Kényszeríti a MIDL fordítót, hogy sztringeket kényszerítsen [defaultvalue] attribútumokat VARIANT-ra. VT_I4 írja be, mielőtt az értéket a megfelelő típusra kényszerítené.

signed_wchar_t

A MIDL-t arra utasítja, hogy a wchar_t típust aláírtként kezelje a Visual Basictel való kompatibilitás érdekében.

Megjegyzések

  • maybenull_sizeis: Lásd: [disable_consistency_check].

  • zeroout_alignmentgap: Ha az IDL-eket â €"cél NT60 vagy újabb értékekkel fordítják le, a MIDL olyan csonkokat hoz létre, amelyek kizárják a tagok vagy a vezetékpufferben lévő szerkezet közötti igazítási réseket. A parancssori kapcsoló /backward_compat zeroout_alignmentgap a MIDL-t irányítja a funkció letiltására.

    A következő példastruktúrában a vezetékpuffer egy 7 bájtos igazítási rést tartalmaz a hipertag 8-hoz igazításához a karaktertag után. A â € "cél NT60 vagy magasabb, MIDL nulla ki ezt a rést, kivéve, ha a kapcsolót használják.

    IDL-fájl:

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

    Ez a kapcsoló enyhe teljesítménybeli javulást biztosíthat a közzétételi kockázat jelentős növekedésével.

  • BSTR_byvalue_escaping: Alapértelmezés szerint a MIDL-fordító nem dolgozza fel az olyan feloldósorozatokat, mint a â € ̃\nâ € ™ vagy â € ̃\t†™ sztringállandókban az OLE Automation esetében, amikor a sztringállandókat VT_LPSTR vagy VT_LPWSTR típussá alakítja. Ezzel a visszamenőleges kompatibilitási kapcsolóval a rendszer kiértékeli a feloldósorozatokat.

  • string_defaultvalue: Kényszeríti a MIDL-fordítót, hogy numerikus sztringeket kényszerítsen [defaultvalue] attribútumokat VARIANT-ra. VT_I4 írja be, mielőtt az értéket a megfelelő típusra kényszerítené. Ez bizonyos esetekben a pontosság elvesztéséhez vezethet, ezért ez a kapcsolóbeállítás nem ajánlott.

  • signed_wchar_t: A MIDL-t arra utasítja, hogy a wchar_t típust aláírtként kezelje a Visual Basictel való kompatibilitás érdekében.