/backward_compat Switch
El modificador /backward_compat dirige al compilador MIDL para desactivar algunas características avanzadas al generar códigos auxiliares RPC/COM.
midl /backward_compat { maybenull_sizeis | zeroout_alignmentgap |
BSTR_byvalue_escaping | string_defaultvalue | signed_wchar_t }
Opciones de modificador
maybenull_sizeis
- Aplica el atributo [disable_consistency_check] a una compilación MIDL completa.
zeroout_alignmentgap
- Desactiva las brechas de cero en el búfer serializado.
BSTR_byvalue_escaping
- Dirige al compilador MIDL para que respete secuencias de escape como €\n™ € o € ¦ ¦ ِ ِ ِ ِ ِ ¦ ™
string_defaultvalue
- Fuerza al compilador MIDL a convertir cadenas en atributos [defaultvalue] en VARIANT. VT_I4 tipo antes de convertir el valor en el tipo correcto.
signed_wchar_t
- Dirige MIDL para tratar el tipo de wchar_t como firmado por compatibilidad con Visual Basic.
Observaciones
maybenull_sizeis: vea [disable_consistency_check].
zeroout_alignmentgap: cuando las IDL se compilan con NT60 de destino o superior, MIDL creará códigos auxiliares que ceron las brechas de alineación entre los miembros o una estructura en el búfer de cables. El modificador de línea de comandos /backward_compat zeroout_alignmentgap dirige MIDL para deshabilitar esta característica.
En la estructura de ejemplo siguiente, el búfer de cables contiene un intervalo de alineación de 7 bytes para alinear el hiper miembro a 8 después del miembro char. Con nt60 de destino o superior, MIDL dejará sin espacio a menos que se use el modificador.
Archivo IDL:
typedef struct _structwithgaps{ char c; // 7 byte gap to align the following hyper to 8 hyper h; } structwithgap;
Este modificador puede proporcionar una ligera mejora del rendimiento con aumentos potencialmente significativos en el riesgo de divulgación.
BSTR_byvalue_escaping: de forma predeterminada, el compilador MIDL no procesa secuencias de escape como, por ejemplo,\n™ o VT_LPWSTR o % ™ en constantes de cadena para OLE VT_LPSTR Automation. Con esta opción de modificador de compatibilidad con versiones anteriores, se evalúan las secuencias de escape.
string_defaultvalue: fuerza al compilador MIDL a convertir cadenas numéricas en atributos [defaultvalue] en VARIANT. VT_I4 tipo antes de convertir el valor en el tipo correcto. Esto puede provocar la pérdida de precisión en algunos casos, por lo que no se recomienda esta opción de modificador.
signed_wchar_t: dirige MIDL para tratar el tipo de wchar_t como firmado por compatibilidad con Visual Basic.