Errores del compilador

Los siguientes mensajes de error se generan durante la compilación MIDL:

Código devuelto Descripción
MIDL2000
debe especificar /c_ext para declaradores abstractos
Los declaradores abstractos representan una extensión de Microsoft a RPC y no se definen en rpc de DCE. Por lo tanto, si el archivo incluye declaradores abstractos, no se puede compilar con el modificador /osf , lo que exige una compatibilidad estricta con DCE. MIDL versiones 3.0 y posteriores usan el modificador /c_ext como valor predeterminado; El modificador /osf desactiva el modificador /c_ext . Para obtener información sobre los declaradores abstractos, vea El cuerpo de ACF.
MIDL2001
la creación de instancias de datos es ilegal; debe usar "extern" o "static"
La declaración y la inicialización en el archivo IDL no son compatibles con DCE RPC. Esta característica es una extensión de Microsoft que no está disponible cuando se compila en modo de compatibilidad con DCE (/osf).
MIDL2002
desbordamiento de pila del compilador
El compilador se quedó sin espacio de pila al procesar el archivo IDL. Este problema puede producirse cuando el compilador está procesando una declaración o expresión complejas. Para resolver el problema, simplifique la declaración o expresión complejas.
MIDL2003
Redefinición
Este mensaje de error puede aparecer en las siguientes circunstancias: se ha redefinido un tipo; se ha redefinido un prototipo de procedimiento; ya existe un miembro de una estructura o unión del mismo nombre; Ya existe un parámetro con el mismo nombre en el prototipo.
MIDL2004
Se usará el enlace [auto_handle]
No se ha definido ningún tipo de identificador como el tipo de identificador predeterminado. El compilador supone que se usará un identificador automático como identificador de enlace para el procedimiento especificado.
MIDL2005
memoria insuficiente
El compilador se quedó sin memoria durante la compilación. Reduzca el tamaño o la complejidad del archivo IDL o asigne más memoria al proceso.
MIDL2006
definición recursiva
Se ha definido de forma recursiva una estructura o unión. Este error puede producirse cuando se pierde una especificación de puntero en una definición de estructura anidada.
MIDL2007
import ignored; archivo ya importado
La importación de un archivo IDL es una operación idempotente. Incluirlo más de una vez no tiene ningún efecto. Pero se omite la primera operación de importación.
MIDL2008
las enumeraciones dispersas requieren /c_ext o /ms_ext
La asignación de valores a constantes de enumeración no es compatible con DCE RPC. Si desea usar las extensiones de Microsoft para MIDL que permiten asignar valores a constantes de enumeración, no puede compilar con el modificador /osf , lo que exige una compatibilidad de DCE estricta. Las versiones 3.0 y posteriores de MIDL usan los modificadores /c_ext y /ms_ext como valor predeterminado; El modificador /osf desactiva estos modificadores de extensión.
MIDL2009
símbolo no definido
Se ha usado un símbolo no definido en una expresión. Este error puede producirse cuando se usa un valor enumerado no definido.
MIDL2010
tipo usado en el archivo ACF no definido en el archivo IDL
Se usa un tipo no definido.
MIDL2011
declaración de tipo sin resolver
El tipo notificado en el campo de información de error adicional no se ha definido en ningún otro lugar del archivo IDL.
MIDL2012
El uso de constantes de caracteres anchos requiere /ms_ext o /c_ext
Las constantes de caracteres anchos son una extensión de Microsoft para DCE IDL. Para usar el tipo de datos wchar_t, no se puede compilar con el modificador /osf , que invalida los modificadores predeterminados del compilador MIDL /ms_ext y /c_ext.
MIDL2013
El uso de cadenas de caracteres anchos requiere /ms_ext o /c_ext
Las constantes de cadena de caracteres anchos son una extensión de Microsoft para DCE IDL. Para usar el tipo de datos wchar_t, no se puede compilar con el modificador /osf , que invalida los modificadores predeterminados del compilador MIDL /ms_ext y /c_ext.
MIDL2014
redefinición incoherente del tipo wchar_t
El tipo wchar_t se ha redefinido como un tipo que no es equivalente a dos cortos sin signo *.
MIDL2015
importlib no encontrado
El compilador no encontró la biblioteca de tipos especificada por la directiva [ importlib]. Compruebe que la ruta de acceso y el nombre de la biblioteca son correctos.
MIDL2016
dos bloques de biblioteca
Dos bloques de biblioteca (incluso con nombres diferentes) en el mismo archivo de código fuente no son válidos. Combine todos los elementos en un único bloque de biblioteca.
MIDL2017
La instrucción dispinterface requiere una definición para IDispatch
Este error suele producirse cuando los archivos Stdole2.tlb o Oaidl.idl no se importan.
MIDL2018
error al acceder a la biblioteca de tipos
El compilador no encontró la biblioteca de tipos especificada. Asegúrese de que ha especificado correctamente la ruta de acceso.
MIDL2019
error al acceder a la información de tipo
La biblioteca de tipos importada está dañada, no es válida o solo se construye parcialmente.
MIDL2020
error al generar la biblioteca de tipos
No se pudo generar la biblioteca de tipos. Una posible causa de este error es especificar una ruta de acceso al archivo IDL que tenga más de 126 caracteres. Oleaut32.dll no admite nombres de ruta de acceso de más de 126 caracteres.
MIDL2021
id. duplicado
Las aplicaciones usan la instrucción id en archivos IDL para especificar un DISPID para las funciones miembro. Las funciones miembro pueden ser propiedades o métodos de interfaces o dispinterfaces. Este error indica que el archivo IDL especifica el mismo número de identificador para dos métodos o propiedades.
MIDL2022
valor no válido o que falta para el atributo de entrada
El argumento del atributo entry puede ser una cadena que especifica un punto de entrada con nombre o un número ordinal que define el punto de entrada. Falta este argumento o contiene un valor no válido.
MIDL2023
se supone que la recuperación de errores
El compilador MIDL encontró caracteres no válidos en el archivo IDL.
MIDL2024
descartes de recuperación de errores
El compilador MIDL encontró caracteres no válidos en el archivo IDL. Omitirá los caracteres no válidos.
MIDL2025
error de sintaxis
El compilador detectó un error de sintaxis en la línea especificada.
MIDL2026
no se puede recuperar de errores de sintaxis anteriores; anulación de la compilación
El compilador MIDL intenta recuperarse automáticamente de errores de sintaxis agregando o quitando elementos sintácticos. Este mensaje indica que, a pesar de estos intentos de recuperación, el compilador detectó demasiados errores. Corrija los errores especificados y vuelva a compilar.
MIDL2027
opción pragma desconocida
La pragma de C especificada no se admite en MIDL. Quite la pragma del archivo IDL.
MIDL2028
característica no implementada
La característica MIDL, aunque parte de la definición de lenguaje, no se implementa en RPC de Microsoft y no es compatible con el compilador MIDL. Por ejemplo, las siguientes características de lenguaje no se implementan: conjunto de bits, canalización y el tipo de carácter internacional. La característica de idioma no implementado aparece en el campo información de error adicional del mensaje de error.
MIDL2029
tipo no implementado
El tipo de datos especificado, aunque una palabra clave MIDL legal, no se implementa en Rpc de Microsoft.
MIDL2030
no puntero usado en una operación de desreferencia
Un tipo de datos que no es un puntero se ha asociado a las operaciones de puntero. No se puede acceder al objeto a través del puntero no especificado.
MIDL2031
expresión tiene una división por cero
La expresión constante contiene división por cero.
MIDL2032
expression usa tipos incompatibles
Los lados izquierdo y derecho del operador en una expresión son de tipos incompatibles.
MIDL2033
expresión noarray usa el operador de índice
La expresión usa la operación de indexación de matriz en un elemento de datos que no es del tipo de matriz.
MIDL2034
el lado izquierdo de la expresión no se evalúa como struct,union/enum
El operador de referencia directa o indirecta "." o "->" se ha aplicado a un objeto de datos que no es una estructura, unión o enumeración. No se puede obtener una referencia directa o indirecta mediante el objeto especificado.
MIDL2035
expresión constante esperada
Se esperaba una expresión constante en la sintaxis. Por ejemplo, los límites de matriz requieren una expresión constante. El compilador emite este mensaje de error cuando el límite de matriz se define con una variable o un símbolo indefinido.
MIDL2036
la expresión no se puede evaluar en tiempo de compilación
El compilador no puede evaluar una expresión en tiempo de compilación.
MIDL2037
expresión no implementada
No se admite una característica que se admitía en versiones anteriores del compilador MIDL en la versión del compilador proporcionada con RPC de Microsoft. Quite la expresión especificada.
MIDL2038
no se especificó ningún atributo [pointer_default], suponiendo [único] para todos los punteros sin asignar.
El compilador MIDL ofrece tres casos predeterminados diferentes para punteros que no tienen atributos de puntero. Los parámetros de función que son punteros de nivel superior tienen como valor predeterminado [ref] punteros. Los punteros incrustados en estructuras y punteros a otros punteros (no punteros de nivel superior) son predeterminados para el tipo especificado por el atributo [pointer_default]. Cuando no se proporciona ningún atributo [pointer_default], estos punteros de nivel no superior tienen como valor predeterminado punteros únicos. Este mensaje de error indica el último caso: no se proporciona ningún atributo [pointer_default] y hay al menos un puntero no de nivel superior que se tratará como un puntero único. Para obtener más información, vea Tipos de puntero predeterminados.
MIDL2039
la interfaz no es compatible con la serialización de automatización
La interfaz no cumple los requisitos de una interfaz de automatización OLE. Asegúrese de que la interfaz se deriva de IUnknown o IDispatch.
MIDL2040
[out] solo el parámetro no puede ser un puntero a una estructura abierta
Se ha usado un parámetro [out]only como puntero a una estructura, conocida como estructura abierta, cuyo intervalo y tamaño transmitidos se determinan en tiempo de ejecución. El código auxiliar del servidor no sabe cuánto espacio asignar para una estructura abierta. Use un puntero a un puntero a la estructura abierta y asegúrese de que la aplicación de servidor asigna espacio suficiente para ella.
MIDL2041
[out] solo el parámetro no puede ser una cadena sin tamaño
Una matriz con el atributo string se ha declarado como un parámetro [out]-only sin ninguna especificación de tamaño. El código auxiliar del servidor necesita información de tamaño para asignar memoria para la cadena. Puede quitar el atributo de cadena y agregar el atributo [size_is] o puede cambiar el parámetro a un parámetro [in, out].
MIDL2042
El parámetro [out] no es un puntero
Todos los parámetros [out] deben ser punteros, en consonancia con la convención call-by-value del lenguaje de programación C. El parámetro direccional [out] indica que el servidor transmite un valor al cliente. Con la convención call-by-value, el servidor puede transmitir datos al cliente solo si el argumento de función es un puntero.
MIDL2043
open structure no puede ser un parámetro
Una estructura abierta contiene una matriz conforme como el último elemento. Una estructura o unión se trunca cuando el último elemento de esa estructura o unión es una matriz conforme.
MIDL2044
[out] el identificador de contexto o el identificador genérico deben especificarse como puntero a ese tipo de controlador.
Un parámetro de identificador de contexto o definido por el usuario con el atributo direccional [out] debe ser un puntero a un puntero.
MIDL2045
el identificador de contexto no debe derivar de un tipo que tenga el atributo [transmit_as]
Los identificadores de contexto deben transmitirse como tipos de identificadores de contexto. No se pueden transmitir como otros tipos y no pueden derivar de [transmit_is], [represent_as], [wire_marshal] o [user_marshal].
MIDL2046
no puede especificar un número variable de argumentos en un procedimiento remoto
Las llamadas a procedimientos remotos que especifican un número variable de argumentos en tiempo de compilación no son compatibles con la definición rpc de DCE. No se puede usar un número variable de argumentos en RPC de Microsoft.
MIDL2047
El parámetro con nombre no puede ser "void"
Se especifica un parámetro con el tipo base void con un nombre.
MIDL2048
el parámetro deriva de "coclass" o "module"
La coclase especifica un objeto de nivel superior que contiene interfaces y dispinterfaces. No se puede pasar como parámetro.
MIDL2049
solo el primer parámetro puede ser un identificador de enlace; debe especificar el modificador /ms_ext
DCE RPC solo permite que el primer parámetro sea un identificador de enlace. La compilación con el modificador /osf desactiva el modificador /ms_ext predeterminado que admite varios parámetros de identificador y controla los parámetros en otros que no sean la posición más izquierda.
MIDL2050
no puede usar [comm_status] en un parámetro y un tipo de valor devuelto
Tanto el procedimiento como uno de sus parámetros tienen el atributo [comm_status]. El atributo [comm_status] especifica que solo un objeto de datos a la vez puede ser de tipo error_status_t.
MIDL2051
El atributo [local] de un procedimiento requiere /ms_ext
El atributo [local] es una extensión de Microsoft para DCE IDL. Para usar este atributo en una función, no se puede compilar con el modificador /osf . El modificador /osf invalida los modificadores predeterminados del compilador MIDL /ms_ext y /c_ext.
MIDL2052
los atributos de propiedad solo se pueden usar con procedimientos
Uso incorrecto de un atributo [propget], [propput] o [propputref]. Compruebe que ha escrito correctamente el nombre de la función de la propiedad y que la propiedad y la función tienen el mismo nombre.
MIDL2053
Es posible que un procedimiento no tenga más de un atributo de propiedad
Como máximo, solo se puede especificar uno de los atributos [propget], [propput] o [propputref] para una función.
MIDL2054
el procedimiento tiene una combinación ilegal de atributos de operación
Algunos atributos no se pueden usar en conexión con otros atributos. Compruebe la referencia del lenguaje MIDL para conocer los requisitos exactos y la sintaxis de los atributos usados en este procedimiento.
MIDL2055
el campo derivado de una matriz conforme debe ser el último miembro de la estructura.
La estructura contiene una matriz conforme que no es el último elemento de la estructura. La matriz conforme debe aparecer como el último elemento de estructura.
MIDL2056
etiqueta duplicada [case]
Se ha especificado una etiqueta de mayúsculas y minúsculas duplicada. Se muestra la etiqueta duplicada.
MIDL2057
no se especifica ningún caso [predeterminado] para la unión discriminada
Se ha especificado una unión discriminada sin un caso predeterminado.
MIDL2058
no se puede resolver la expresión de atributo
No se puede resolver la expresión asociada al atributo . Este error suele producirse cuando no se define una variable que aparece en la expresión. Por ejemplo, el error puede producirse cuando el atributo [size_is no define la variable s y lo usa].
MIDL2059
la expresión de atributo debe ser de tipo entero, sin compatibilidad con expresiones de 64 bits
La variable o expresión de atributo especificada debe ser un tipo entero. Este error se produce cuando el tipo attribute-expression no se resuelve en un entero.
MIDL2060
[byte_count] requiere /ms_ext
El atributo [byte_count] es una extensión de Microsoft para DCE IDL. Para usar este atributo no se puede compilar con el modificador /osf , que invalida los modificadores predeterminados del compilador MIDL /ms_ext y /c_ext.
MIDL2061
[byte_count] solo se puede aplicar a los parámetros out del tipo de puntero.
El atributo [byte_count] solo se puede aplicar a los parámetros [out] y todos los parámetros [out] deben ser tipos de puntero.
MIDL2062
[byte_count] no se puede especificar en un puntero a una matriz o estructura conformes
El atributo [byte_count] no se puede aplicar a una matriz o estructura conformes.
MIDL2063
el parámetro que especifica el recuento de bytes no es [in] solo o el parámetro de recuento de bytes no es [out] solo
El valor asociado a [byte_count] debe transmitirse desde el cliente al servidor; debe ser un parámetro [in]. El parámetro [byte_count] no necesita ser un parámetro [in, out].
MIDL2064
el parámetro que especifica el recuento de bytes no es un tipo entero
El valor asociado al recuento de bytes debe ser el tipo entero int, small, short o long.
MIDL2065
[byte_count] no se puede especificar en un parámetro con atributos de tamaño
El atributo [byte_count] no se puede usar con otros atributos de tamaño como [size_is] o [length_is].
MIDL2066
La expresión [case] no es constante
La expresión especificada para la etiqueta case no es una constante.
MIDL2067
[case] expression no es de tipo entero
La expresión especificada para la etiqueta case no es un tipo entero.
MIDL2068
especificar [context_handle] en un tipo distinto de void * requiere /ms_ext
Para la compatibilidad con DCE-RPC, el identificador de contexto debe ser un puntero de tipo void *. Si desea que los identificadores de contexto se asocien a tipos distintos de void *, no use el modificador del compilador MIDL /osf, que invalida el modificador predeterminado del compilador MIDL /ms_ext.
MIDL2069
no puede especificar más de un parámetro con cada uno de comm_status/fault_status
Un procedimiento solo puede tener un parámetro con el atributo [comm_status]. Puede tener como máximo un parámetro con el atributo [fault_status].
MIDL2070
comm_status/fault_status parámetro debe ser solo un parámetro de puntero [out]
Los tipos de código de error [comm_status] y [fault_status] se transmiten desde el servidor al cliente y, por tanto, se deben especificar como parámetro [out]. Debido a las restricciones del lenguaje de programación C, todos los parámetros [out] deben ser punteros.
MIDL2071
Error de sintaxis del punto de conexión
La sintaxis del punto de conexión es incorrecta.
MIDL2072
atributo inapplicable
El atributo especificado no se puede aplicar en esta construcción. Por ejemplo, el atributo de cadena se aplica a matrices char o punteros de caracteres y no se puede aplicar a una estructura que consta de dos enteros cortos :
typedef [string] struct moo 
{
    short x;
    short y;
};
MIDL2073
[allocate] requiere /ms_ext
El atributo allocate representa una extensión de Microsoft que no se define como parte de RPC de DCE. Para usar este atributo, no se puede compilar con el modificador /osf , que invalida el modificador predeterminado del compilador MIDL /ms_ext
MIDL2074
modo [allocate] no válido
Se ha especificado un modo no válido para la construcción de atributo [allocate]. Los cuatro modos válidos son single_node, all_nodes, on_null y siempre.
MIDL2075
Los atributos length no se pueden aplicar con el atributo de cadena
Cuando se usa el atributo de cadena, los archivos de código auxiliar generados llaman a la función strlen para determinar la longitud de la cadena. No use el atributo length y el atributo de cadena para la misma variable.
MIDL2076
[last_is] y [length_is] no se pueden especificar al mismo tiempo
Se han especificado tanto [last_is] como [length_is] para la misma matriz. Estos atributos están relacionados de la siguiente manera: length = last first + 1. Dado que cada valor se puede derivar del otro, no especifique ambos.
MIDL2077
[max_is] y [size_is] no se pueden especificar al mismo tiempo
Se han especificado tanto [ max_is] como [ size_is] para la misma matriz. Estos atributos están relacionados de la siguiente manera: max = size + 1. Dado que cada valor se puede derivar del otro, no especifique ambos.
MIDL2078
no se especificó ningún atributo [switch_is] en el uso de union
No se ha especificado ningún discriminante para la unión. El atributo [switch_is] indica el discriminante usado para seleccionar entre los campos de unión.
MIDL2079
no se especificó [uuid]
No se ha especificado UUID para la interfaz.
MIDL2080
[uuid] se omite en la interfaz [local]
El uso del atributo [local] en una interfaz de objeto hace que el compilador MIDL omita el atributo [uuid]. No se pueden usar ambos atributos en una interfaz RPC.
MIDL2081
error de coincidencia de tipos entre expresiones de atributo de longitud y tamaño
Las expresiones de atributo length y size deben ser de los mismos tipos. Por ejemplo, esta advertencia se emite cuando la variable de atributo para la expresión [size_is] es de tipo unsigned long y la variable de atributo para la expresión [length_is] es de tipo long.
MIDL2082
[string] el atributo debe especificarse "byte", "char" o "wchar_t" matriz o puntero.
Un atributo de cadena no se puede aplicar a un puntero o matriz cuyo tipo base no es un byte, char o struct en el que los miembros son todos del tipo byte o char .
MIDL2083
error de coincidencia entre el tipo de la expresión [switch_is] y el tipo de modificador de la unión
Si no se especifica la unión [switch_type], el tipo de modificador es el mismo que el campo [switch_is].
MIDL2084
[transmit_as] no se debe aplicar a un tipo que derive de un identificador de contexto.
Los identificadores de contexto no se pueden transmitir como otros tipos.
MIDL2085
[transmit_as] debe especificar un tipo transmisible
El tipo [transmit_as] especificado se deriva de un tipo que microsoft RPC no puede transmitir, como void, void *, o int. Use un tipo base RPC definido; en el caso de int, agregue especificadores de tamaño como small, short o long para calificar el int.
MIDL2086
el tipo transmitido para [transmit_as] y [represent_as] no deben ser un puntero ni derivarse de un puntero.
El tipo transmitido no puede ser un puntero ni derivar de un puntero.
MIDL2087
el tipo presentado para [transmit_as] y [represent_as] no deben derivarse de una matriz conforme o variable, su equivalente de puntero o una estructura conforme/variable
El tipo al que se ha aplicado [transmit_as] no puede derivar de una matriz o estructura conformes (una matriz o estructura cuyo tamaño se determina en tiempo de ejecución).
MIDL2088
El formato [uuid] es incorrecto
El formato UUID no se ajusta a la especificación. El UUID debe ser una cadena que consta de cinco secuencias de dígitos hexadecimales de longitud 8, 4, 4, 4 y 12 dígitos. "12345678-1234-ABCD-EF01-28A49C28F17D" es un UUID válido. Use la función UuidCreate o una utilidad para generar un UUID válido.
MIDL2089
uuid no es un número hexadecimal
El UUID especificado para la interfaz contiene caracteres que no son válidos en una representación de número hexadecimal. Los caracteres de 0 a 9 y A a F son válidos en una representación hexadecimal.
MIDL2090
los parámetros opcionales deben aparecer después de los parámetros necesarios.
Para obtener una descripción del orden de las listas de parámetros, vea [opcional] en la Referencia del lenguaje MIDL.
MIDL2091
[dllname] necesario cuando se usa [entry]
Si especifica un punto de entrada en un archivo DLL, también debe especificar el nombre de ese archivo DLL mediante el atributo [dllname].
MIDL2092
[enlazable] no es válido sin [propget], [propput] o [propputref]
El atributo [enlazable] solo es válido en una propiedad, por lo que también debe especificar una de las funciones de acceso a propiedades o de configuración de propiedades.
MIDL2093
los procedimientos con [propput] o [propputref] deben tener al menos un parámetro
Un procedimiento [propput] o [ propputref] debe tener al menos un parámetro [in] con la propiedad que se va a establecer; Un procedimiento [propget] debe tener al menos un parámetro [out, retval] para recibir la propiedad o la referencia.
MIDL2094
Se requiere el atributo [id]
Esta función miembro, debido a la sintaxis dispinterface usada, requiere un DISPID, que se especifica mediante el atributo [ id]. Al especificar un dispinterface mediante propiedades y métodos, debe especificar un DISPID para cada propiedad y método.
MIDL2095
el nombre de interfaz especificado en ACF no coincide con el especificado en el archivo IDL.
En el modo del compilador actual, el nombre que sigue a la palabra clave interface en ACF debe ser el mismo que el nombre que sigue a la palabra clave interface en el archivo IDL. Los nombres de interfaz de los archivos IDL y ACF pueden ser diferentes al compilar con el modificador del compilador MIDL /acf.
MIDL2096
atributo duplicado
Se han especificado atributos duplicados o en conflicto. Este error suele producirse cuando dos atributos son mutuamente excluyentes. Por ejemplo, los atributos [code] y [nocode] no se pueden usar al mismo tiempo.
MIDL2097
el parámetro con el atributo [comm_status] o [fault_status] debe ser un puntero al tipo error_status_t
Cuando se usa [fault_status] o [comm_status] como atributo de parámetro, el parámetro debe ser un parámetro [out] de tipo error_status_t. Si se produce un error de servidor, el parámetro se establece en el código de error. Cuando la llamada remota se completa correctamente, el procedimiento establece el valor .
MIDL2098
No se puede especificar un procedimiento [local] en el archivo ACF
Se ha especificado un procedimiento local en el ACF. El procedimiento local solo se puede especificar en el archivo IDL.
MIDL2099
el tipo especificado no se define como identificador
El tipo especificado en el atributo [implicit_handle] no se define como un tipo de identificador. Cambie la definición de tipo o el nombre de tipo especificado por el atributo .
MIDL2100
procedimiento sin definir
Se ha aplicado un atributo a un procedimiento de ACF y ese procedimiento no está definido en el archivo IDL.
MIDL2101
este parámetro no existe en el archivo IDL
Un parámetro especificado en ACF no existe en la definición del archivo IDL. Todos los parámetros, funciones y definiciones de tipo que aparecen en ACF deben corresponder a parámetros, funciones y tipos definidos anteriormente en el archivo IDL.
MIDL2102
Esta construcción de límites de matriz no se admite
MIDL admite actualmente la expresión de los límites superior e inferior de una matriz con el formato Array[Lower .. Superior] solo cuando la constante que especifica el límite inferior de la matriz se resuelve en el valor cero.
MIDL2103
la especificación enlazada de matriz no es válida
La especificación de usuario de los límites de matriz para la matriz de tamaño fijo no es válida. Por ejemplo:
typedef short Array[-1]
MIDL2104
No se admite el puntero a una matriz compatible o una matriz que contiene una matriz compatible.
Uso de matriz conforme no válido. Para conocer las reglas que rigen las matrices conformes, consulte Matrices y RPC.
MIDL2105
pointee/array no deriva ningún tamaño
Se ha especificado una matriz conforme sin ninguna especificación de tamaño. Puede especificar el tamaño con el atributo [max_is] o [size_is].
MIDL2106
solo las matrices fijas y SAFEARRAYs son legales en una biblioteca de tipos.
Ha usado un tipo de matriz dentro de una instrucción de biblioteca que no se puede usar en una biblioteca de tipos.
MIDL2107
SAFEARRAYs solo son legales dentro de un bloque de biblioteca
El compilador MIDL no reconoce un SAFEARRAY como un tipo de datos válido excepto al generar una biblioteca de tipos.
MIDL2108
constante de caracteres con formato incorrecto
El carácter de final de línea no se permite en constantes de caracteres.
MIDL2109
fin del archivo encontrado en el comentario
El carácter de fin de archivo se ha encontrado en un comentario.
MIDL2110
final del archivo encontrado en la cadena
El carácter de fin de archivo se ha encontrado en una cadena.
MIDL2111
la longitud del identificador supera los 31 caracteres.
Los identificadores están limitados a 31 caracteres alfanuméricos. Los nombres de identificador de más de 31 caracteres se truncan.
MIDL2112
final de la línea que se encuentra en la cadena
El carácter de final de línea se ha encontrado en la cadena. Compruebe que ha incluido el carácter de comilla doble que finaliza la cadena.
MIDL2113
la constante de cadena supera el límite de 255 caracteres.
La cadena superó la longitud máxima permitida de 255 caracteres.
MIDL2114
el identificador supera el límite de 255 caracteres y se ha truncado.
El identificador superó la longitud máxima permitida de 255 caracteres. Se truncan los caracteres excesivos del identificador.
MIDL2115
constante demasiado grande
La constante es demasiado grande para representarse internamente.
MIDL2116
error de análisis numérico
El compilador no pudo analizar el identificador numérico.
MIDL2117
error al abrir el archivo
El sistema operativo notificó un error al intentar abrir un archivo de salida. Este error puede deberse a un nombre demasiado largo para el sistema de archivos o por un nombre de archivo duplicado.
MIDL2118
enlace de errores a la función
MIDL2119
error al inicializar OLE
MIDL2120
error al cargar la biblioteca
MIDL2121
[out] solo el parámetro no debe derivar de un puntero o matriz de nivel superior [unique] o [ptr]
Un puntero único no puede ser un parámetro [out]-only. Por definición, un puntero único puede cambiar de NULL a distinto de NULL. No se pasa información sobre el parámetro [out]-only del cliente al servidor.
MIDL2122
el atributo no es aplicable a esta unión no rpcble
Solo los atributos [switch_is] y [switch_type] se aplican a una unión que se transmite como parte de una llamada a procedimiento remoto.
MIDL2123
la expresión usada para un atributo size no debe derivar de un parámetro [out]-only
El valor de un parámetro [out]-only no se transmite al servidor y no se puede usar para determinar la longitud o el tamaño del parámetro [in].
MIDL2124
expresión usada para un atributo length para un parámetro [in] no puede derivar de un parámetro [out]-only
El valor de un parámetro [out]-only no se transmite al servidor y no se puede usar para determinar la longitud o el tamaño del parámetro [in].
MIDL2125
el uso de "int" necesita /c_ext
MIDL es un lenguaje fuertemente tipado. Todos los parámetros transmitidos a través de la red deben derivarse de uno de los tipos base MIDL. El tipo int no se define como parte de MIDL. Los datos transmitidos deben incluir un especificador de tamaño: pequeño, corto o largo. Los datos que no se transmiten a través de la red se pueden incluir en una interfaz; use el modificador /c_ext .
MIDL2126
El campo struct/union no debe ser "void"
Los campos de una estructura o unión deben declararse como de un tipo base específico admitido por MIDL o un tipo derivado de los tipos base. Los tipos void no se permiten en operaciones remotas.
MIDL2127
El elemento array no debe ser void
Un elemento de matriz no puede ser void.
MIDL2128
el uso de calificadores de tipo o modificadores necesita /c_ext
Los modificadores de tipo como _cdecl y _far solo se pueden compilar si especifica el modificador /c_ext .
MIDL2129
El campo struct/union no debe derivar de una función
Los campos de una estructura o unión deben ser tipos base MIDL o tipos derivados de estos tipos base. Las funciones no son legales en los campos de estructura o unión.
MIDL2130
el elemento array no debe ser una función
Un elemento de matriz no puede ser una función.
MIDL2131
parameter no debe ser una función
El parámetro de un procedimiento remoto debe ser una variable de un tipo especificado. Una función no puede ser un parámetro para el procedimiento remoto.
MIDL2132
struct/union con campos de bits necesita /c_ext
Debe especificar el modificador del compilador MIDL /c_ext para permitir campos de bits en estructuras que no se transmiten en una llamada a procedimiento remoto.
MIDL2133
especificación de campo de bits en un tipo que "int" es una extensión no compatible con ANSI
La especificación del lenguaje de programación ANSI C no permite aplicar campos de bits a tipos no enteros.
MIDL2134
La especificación de campo de bits solo se puede aplicar a tipos enteros simples e integrales
La especificación del lenguaje de programación ANSI C no permite aplicar campos de bits a tipos no enteros.
MIDL2135
El campo struct/union no debe derivar de handle_t ni de un controlador de contexto
Los identificadores de contexto no se pueden transmitir como parte de otra estructura. Deben transmitirse como identificadores de contexto.
MIDL2136
El elemento array no debe derivar de handle_t ni de un identificador de contexto
Los identificadores de contexto no se pueden transmitir como parte de una matriz.
MIDL2137
esta especificación de union necesita /c_ext
Una unión que aparece en la definición de interfaz debe estar asociada al discriminante o declarado como local. Los datos que no se transmiten a través de la red se pueden declarar implícitamente como locales cuando se usa el modificador /c_ext , que es el valor predeterminado MIDL. No se puede compilar este IDL con el modificador /osf .
MIDL2138
El parámetro derivado de un "int" debe tener el especificador de tamaño "small", "short" o "long" con "int"
El tipo int es solo un tipo MIDL válido en plataformas de 32 bits, en sistemas de 16 bits int debe ir acompañado de una especificación de tamaño. Use uno de los especificadores de tamaño pequeños, cortos o largos.
MIDL2139
tipo del parámetro no puede derivar de void o void*
MIDL es un lenguaje fuertemente tipado. Todos los parámetros transmitidos a través de la red deben derivarse de uno de los tipos base MIDL. MIDL no admite void como un tipo base. Debe cambiar la declaración a un tipo MIDL válido.
MIDL2140
No se admite el parámetro derivado de una estructura o unión que contenga campos de bits.
Los campos de bits no se definen como un tipo de datos válido por DCE RPC.
MIDL2141
el uso de un parámetro derivado de un tipo que contiene modificadores de tipo/calificadores de tipo necesita /c_ext
El uso de palabras clave como lejos, cercano, const y volátil en el archivo IDL es una extensión de Microsoft para DCE RPC. Estas palabras clave no están disponibles al compilar con el modificador /osf , que desactiva el modificador de extensión /c_ext predeterminado.
MIDL2142
el parámetro no debe derivar de un puntero a una función
Las bibliotecas en tiempo de ejecución rpc transmiten un puntero y sus datos asociados entre el cliente y el servidor. Los punteros a funciones no se pueden transmitir como parámetros porque la función no se puede transmitir a través de la red.
MIDL2143
El parámetro no debe derivar de una unión compatible con nonrpc
La unión debe estar asociada a un discriminante. Use los atributos [switch_is] y [switch_type].
MIDL2144
tipo de valor devuelto se deriva de un "int". Debe usar especificadores de tamaño con "int"
En sistemas de 16 bits, el tipo int no es un tipo MIDL válido a menos que vaya acompañado de una especificación de tamaño. Use uno de los especificadores de tamaño pequeños, cortos o largos.
MIDL2145
El tipo de valor devuelto no debe derivarse de un puntero void
MIDL es un lenguaje fuertemente tipado. Todos los parámetros transmitidos a través de la red deben derivarse de uno de los tipos base MIDL. Los tipos Void no se definen como parte de MIDL. Debe cambiar la declaración a un tipo MIDL válido.
MIDL2146
El tipo de valor devuelto no debe derivar de una estructura o unión que contenga campos de bits.
Los campos de bits no se definen como un tipo de datos válido por DCE RPC.
MIDL2147
El tipo de valor devuelto no debe derivar de una unión compatible con nonrpc
La unión debe estar asociada a un discriminante. Use los atributos [switch_is] y [switch_type].
MIDL2148
el tipo de valor devuelto no debe derivar de un puntero a una función
Las bibliotecas en tiempo de ejecución rpc transmiten un puntero y sus datos asociados entre el cliente y el servidor. Los punteros a funciones no se pueden transmitir como parámetros porque RPC no define un método para transmitir la función asociada a través de la red.
MIDL2149
No se admiten inicializadores compuestos
DCE RPC solo admite inicialización simple. La estructura o matriz no se puede inicializar en el archivo IDL.
MIDL2150
Los atributos ACF del archivo IDL necesitan el modificador /app_config
Una extensión de Microsoft permite especificar atributos ACF en el archivo IDL. Use el modificador /app_config para activar esta extensión.
MIDL2151
El comentario de una sola línea necesita /ms_ext o /c_ext
Los comentarios de una sola línea que usan dos caracteres de barra diagonal (//) representan una extensión de Microsoft a RPC de DCE. No puede usar comentarios de una sola línea si está compilando con el modificador /osf .
MIDL2152
El formato [version] es incorrecto
El número de versión de la interfaz en el encabezado de interfaz debe especificarse en el formato principal. minor, donde cada número puede oscilar entre 0 y 65535.
MIDL2153
"signed" necesita /ms_ext o /c_ext
El uso de la palabra clave signed es una extensión de Microsoft para DCE RPC. No puede usar el modificador /osf si desea usar esta característica.
MIDL2154
error de coincidencia en el tipo de asignación
El tipo de la variable no coincide con el tipo del valor asignado a la variable.
MIDL2155
la declaración debe tener el formato: const <type>\