/backward_compat Anahtarı
/backward_compat anahtarı, RPC/COM saptamaları oluştururken MIDL derleyicisini bazı gelişmiş özellikleri kapatmaya yönlendirir.
midl /backward_compat { maybenull_sizeis | zeroout_alignmentgap |
BSTR_byvalue_escaping | string_defaultvalue | signed_wchar_t }
Seçenekleri Değiştir
maybenull_sizeis
zeroout_alignmentgap
- Sıralanmış arabellekteki boşlukların sıfırlanması kapatılır.
BSTR_byvalue_escaping
- BSTR'lerde MIDL derleyicisini\ñ veya ™ †̃\t†™ gibi kaçış dizilerine uymaya yönlendirir.
string_defaultvalue
- MIDL derleyicisini [defaultvalue] özniteliklerindeki dizeleri VARIANT olarak zorlamaya zorlar. değeri doğru türe zorlamadan önce VT_I4 yazın.
signed_wchar_t
- WCHAR_T türünü Visual Basic ile uyumluluk için imzalı olarak ele almak için MIDL'yi yönlendirir.
Açıklamalar
maybenull_sizeis: Bkz. [disable_consistency_check].
zeroout_alignmentgap: IDL'ler bir€"target NT60 veya üzeri ile derlendiğinde, MIDL üyeler arasındaki hizalama boşluklarını veya tel arabelleğindeki bir yapıyı sıfırlayan saplamalar oluşturur. /backward_compat zeroout_alignmentgap komut satırı anahtarı, MIDL'yi bu özelliği devre dışı bırakmaya yönlendirir.
Aşağıdaki örnek yapıda, tel arabellek, hiper üyeyi karakter üyesinden sonra 8'e hizalamak için 7 bayt hizalama boşluğu içerir. Hedef NT60 veya üzeri ile, anahtar kullanılmadığı sürece MIDL bu boşluğu sıfırlar.
IDL dosyası:
typedef struct _structwithgaps{ char c; // 7 byte gap to align the following hyper to 8 hyper h; } structwithgap;
Bu anahtar, ifşa riskinin önemli ölçüde artmasıyla hafif bir performans iyileştirmesi sağlayabilir.
BSTR_byvalue_escaping: Varsayılan olarak, MIDL derleyicisi bir dize sabitini VT_LPSTR veya VT_LPWSTR türlerine dönüştürürken OLE Otomasyonu için dize sabitlerinde †̃\n†™ veya †̃\t†™ gibi kaçış dizilerini işlemez. Bu geriye dönük uyumluluk anahtarı seçeneğiyle kaçış dizileri değerlendirilir.
string_defaultvalue: MIDL derleyicisini [defaultvalue] özniteliklerindeki sayısal dizeleri VARIANT olarak zorlamaya zorlar. değeri doğru türe zorlamadan önce VT_I4 yazın. Bu, bazı durumlarda duyarlık kaybına yol açabilir, bu nedenle bu anahtar seçeneği önerilmez.
signed_wchar_t: WCHAR_T türünü Visual Basic ile uyumluluk için imzalı olarak ele almak için MIDL'yi yönlendirir.