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