-
MIDL2000
|
-
debe especificar /c_ext para los 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. Las versiones 3.0 y posteriores de MIDL 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 RPC de DCE. Esta característica es una extensión de Microsoft que no está disponible al compilar 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 solucionar 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
- Importar un archivo IDL es una operación idempotente. Incluirlo más de una vez no tiene ningún efecto. Solo 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 RPC de DCE. 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 estricta con DCE. 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 sin definir
- 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 información de error adicional no se ha definido en otra parte 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 corto 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 correctas.
|
-
MIDL2016
|
-
dos bloques de biblioteca
- Dos bloques de biblioteca (incluso con nombres diferentes) en el mismo archivo de origen 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. Compruebe 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 tiene más de 126 caracteres. Oleaut32.dll no admite nombres de ruta de acceso de más de 126 caracteres.
|
-
MIDL2021
|
-
identificador duplicado
- Las aplicaciones usan la instrucción id en los 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 del lenguaje, no se implementa en RPC de Microsoft y no es compatible con el compilador MIDL. Por ejemplo, no se implementan las siguientes características de lenguaje: conjunto de bits, canalización y tipo de carácter internacional. La característica de idioma no implementado aparece en el campo de 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 tener acceso al objeto a través del puntero no especificado.
|
-
MIDL2031
|
-
expression 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
|
-
La 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 no definido.
|
-
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
- Una característica que se admitía en versiones anteriores del compilador MIDL no se admite 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 punteros [ref]. 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 de solo [out]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 él.
|
-
MIDL2041
|
-
[out] solo el parámetro no puede ser una cadena sin tamaño
- Una matriz con el atributo de cadena 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
|
-
[out] el parámetro no es un puntero
- Todos los parámetros [out] deben ser punteros, en consonancia con la convención de llamada por valor del lenguaje de programación C. El parámetro direccional [out] indica que el servidor transmite un valor al cliente. Con la convención de llamada por valor, 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 ú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 un puntero a ese tipo de identificador.
- 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 se deben transmitir como tipos de identificador de contexto. No se pueden transmitir como otros tipos y no pueden derivarse de [transmit_is], [represent_as], [wire_marshal] o [user_marshal].
|
-
MIDL2046
|
-
no puede especificar un número variable de argumentos para 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
|
-
parameter 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 los parámetros de controlador en distintos de 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 y la sintaxis exactos 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 [caso]
- Se ha especificado una etiqueta de mayúsculas y minúsculas duplicadas. 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 la variable s no está definida y la usa el atributo [size_is].
|
-
MIDL2059
|
-
la expresión de atributo debe ser de tipo entero, sin compatibilidad con expresiones de 64 bits.
- La variable de atributo o expresión 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 a 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 la [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
|
-
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
|
-
La expresión [case] 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 estén asociados 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/parámetro fault_status debe ser un parámetro de puntero [out] solo
- Los tipos de código de error [comm_status] y [fault_status] se transmiten desde el servidor al cliente y, por lo tanto, se deben especificar como un 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 char 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 cuando se compila 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> \<declarator> = <initializing expression>
- La declaración no es compatible con la sintaxis RPC de DCE. Use el modificador de modo de compilador /ms_ext o /c_ext MIDL.
|
-
MIDL2156
|
-
la declaración debe tener "const"
- Las declaraciones del archivo IDL deben ser expresiones constantes que usen la palabra clave const, por ejemplo:
const short x = 2;
|
-
MIDL2157
|
-
struct/union/enum no se debe definir en una especificación de tipo de parámetro
- La estructura, unión o tipo enumerado debe indicarse explícitamente fuera del prototipo de función.
|
-
MIDL2158
|
-
El atributo [allocate] solo se debe aplicar en tipos de puntero que no sean void.
- El atributo [allocate] está diseñado para estructuras de datos complejas basadas en punteros. Cuando se especifica el atributo [allocate], el archivo de código auxiliar recorre la estructura de datos para calcular el tamaño total de todos los objetos accesibles desde el puntero y todos los demás punteros de la estructura de datos. Cambie el tipo a un tipo de puntero novoid o quite el atributo [allocate] y use otro método para determinar su tamaño de asignación, como el operador sizeof .
|
-
MIDL2159
|
-
La construcción de puntero equivalente o matriz no puede derivarse de una unión no encapsulada
- Cada unión debe estar asociada a un discriminante. No se permiten matrices de uniones porque no proporcionan el discriminante asociado. Se permiten matrices de estructuras en las que la estructura empaqueta la unión y su discriminante porque los códigos auxiliares pueden usar el discriminante para determinar el tamaño de cada unión.
|
-
MIDL2160
|
-
el campo no debe derivar de un tipo de error_status_t
- El tipo error_status_t solo se puede usar como parámetro o un tipo de valor devuelto. No se puede incrustar en el campo de una estructura o unión.
|
-
MIDL2161
|
-
union tiene al menos un brazo sin una etiqueta case
- La declaración de unión no coincide con la sintaxis MIDL necesaria para la unión. Cada brazo de unión requiere una etiqueta case o una etiqueta predeterminada que seleccione ese brazo de unión.
|
-
MIDL2162
|
-
el parámetro o el valor devuelto no deben derivar de un tipo que tenga [ignore] aplicado.
- El atributo [ignore] es un atributo de campo que solo se puede aplicar a campos, como campos de estructuras y matrices. El atributo [ignore] indica que el código auxiliar no debe desreferenciar el puntero durante la transmisión y no se permite cuando entra en conflicto con otros atributos que se deben desreferenciar, como parámetros [out] y valores devueltos de función.
|
-
MIDL2163
|
-
el puntero ya tiene un atributo de puntero aplicado.
- Solo se puede aplicar uno de los atributos de puntero, [ref], [unique] o [ptr] a un único puntero.
|
-
MIDL2164
|
-
field/parameter no debe derivar de una estructura recursiva a través de un puntero ref.
- Por definición, un puntero de referencia no se puede establecer en NULL. Una estructura de datos recursiva definida con un puntero de referencia no tiene elementos NULL y por convención no se determina. Use un atributo de puntero [único] para permitir que la estructura de datos especifique un elemento NULL o vuelva a definir la estructura de datos como una estructura de datos no recursiva.
|
-
MIDL2165
|
-
el uso del campo que deriva de un puntero void necesita /c_ext
- El tipo void * y otros tipos y calificadores de tipo que no son compatibles con DCE IDL se permiten en el archivo IDL solo cuando se usa la configuración predeterminada del compilador MIDL. El uso del modificador /osf invalida este valor predeterminado. Si debe compilar en modo de compatibilidad de osf, deberá volver a definir el tipo de puntero.
|
-
MIDL2166
|
-
el uso de este atributo necesita /ms_ext
- Esta característica de lenguaje es una extensión de Microsoft para DCE IDL. No puede usar esta característica si está compilando en modo de compatibilidad de osf ( /osf ).
|
-
MIDL2167
|
-
este atributo solo se permite con nuevas bibliotecas de tipos de formato
- Para usar este atributo, necesita la versión de Oleaut32.dll proporcionada con Windows 2000 o posterior.
|
-
MIDL2168
|
-
el uso de wchar_t necesita /ms_ext o /c_ext
- El tipo de carácter ancho representa una extensión a DCE IDL. El compilador MIDL no acepta el tipo de caracteres anchos al especificar el modificador /osf .
|
-
MIDL2169
|
-
Los campos sin nombre necesitan /ms_ext o /c_ext
- DCE IDL no admite el uso de estructuras sin nombre o uniones incrustadas en otras estructuras o uniones. En DCE IDL, se debe asignar un nombre a todos estos campos incrustados. El compilador MIDL no permite su uso al especificar el modificador /osf .
|
-
MIDL2170
|
-
Los campos sin nombre solo se pueden derivar de tipos de struct/union
- La extensión de Microsoft para el IDL de DCE que admite campos sin nombre solo se aplica a estructuras y uniones. Debe asignar un nombre al campo o redefinir el campo para cumplir esta restricción.
|
-
MIDL2171
|
-
el campo de una unión no puede derivar de una matriz conforme o variable o de su equivalente de puntero
- La matriz conforme no puede aparecer sola en la unión, pero debe ir acompañada del valor que especifica el tamaño de la matriz. En lugar de usar la matriz como brazo de unión, use una estructura que consta de la matriz conforme y el identificador que especifica su tamaño.
|
-
MIDL2172
|
-
no se especificó ningún atributo [pointer_default], suponiendo [ptr] para todos los punteros sin asignar en la interfaz
- La implementación de IDL de DCE especifica que todos los punteros de cada archivo IDL deben estar asociados a atributos de puntero. Cuando no se asigna un atributo de puntero explícito al tipo de parámetro o puntero y no se especifica ningún atributo [pointer_default] en el archivo IDL, el atributo de puntero completo ptr está asociado al puntero. Puede cambiar los atributos de puntero mediante atributos de puntero explícitos, especificando un atributo [pointer_default] o especificando el modificador /ms_ext para cambiar el valor predeterminado de punteros sin asignar a [unique].
|
-
MIDL2173
|
-
inicializar expresión debe resolverse en una expresión constante
- Si se usa una expresión como inicializador, la expresión debe ser una expresión constante. Esto es cierto en todos los modos del compilador MIDL. La expresión debe poder resolverse en tiempo de compilación. Especifique una constante literal o una expresión que se resuelva en una constante, en lugar de una variable.
|
-
MIDL2174
|
-
la expresión de atributo debe ser de tipo entero, char, booleano o enumeración
- El tipo especificado no se resuelve en un tipo de modificador válido. Use un tipo entero, carácter, byte, booleano o enumeración , o un tipo derivado de uno de estos tipos.
|
-
MIDL2175
|
-
constante no válida
- La constante especificada está fuera del intervalo válido para el tipo especificado.
|
-
MIDL2176
|
-
atributo no implementado; Ignorado
- El atributo especificado no se implementa en esta versión de Rpc de Microsoft. El compilador MIDL continúa procesando el archivo IDL como si el atributo no estuviera presente.
|
-
MIDL2177
|
-
el tipo de valor devuelto no debe derivar de un puntero [ref]
- Los valores devueltos de función definidos para ser tipos de puntero deben especificarse como punteros [únicos] o completos . No se pueden usar punteros de referencia.
|
-
MIDL2178
|
-
la expresión de atributo debe ser un nombre de variable o una expresión de desreferencia de puntero en este modo. Debe especificar el modificador /ms_ext
- El compilador IDL de DCE requiere que el tamaño asociado al atributo [size_is] se especifique mediante una variable o una variable de puntero. Si desea aprovechar la extensión de Microsoft que permite definir el atributo [size_is] mediante una expresión constante, no puede usar el modificador del compilador /osf .
|
-
MIDL2179
|
-
el parámetro no debe derivar de una unión no encapsulada recursiva
- Una unión debe incluir un discriminante, por lo que una unión no puede tener otra unión como elemento. Una unión solo se puede incrustar en otra unión cuando forma parte de una estructura que incluye el discriminante.
|
-
MIDL2180
|
-
el parámetro binding-handle no puede ser solo [out]
- El parámetro handle identificado por el compilador MIDL como identificador de enlace para esta operación debe ser un parámetro [in].
Los parámetros de solo salida no están definidos en el código auxiliar del cliente y el identificador de enlace debe definirse en el cliente.
|
-
MIDL2181
|
-
el puntero a un controlador no puede ser [único] o [ptr]
- No se pueden usar los atributos de puntero únicos y completos para un puntero a un identificador. Estos atributos permiten el valor NULL y el identificador de enlace no puede ser NULL. Use el atributo [ref] para derivar el parámetro binding-handle de punteros de referencia.
|
-
MIDL2182
|
-
El parámetro que no es un identificador de enlace no debe derivar de handle_t
- El tipo de identificador primitivo handle_t no es un tipo de datos válido que se transmite a través de la red. Cambie el tipo de parámetro a un tipo distinto de handle_t o quite el parámetro .
|
-
MIDL2183
|
-
Se encontró un final inesperado del archivo
- El compilador MIDL encontró el final del archivo antes de poder resolver correctamente todos los elementos sintácticos del archivo. Compruebe que el carácter de llave de terminación (}) está presente al final del archivo o compruebe la sintaxis.
|
-
MIDL2184
|
-
El tipo derivado de handle_t no debe tener [transmit_as] aplicado a él
- El tipo de identificador primitivo handle_t no se transmite a través de la red.
|
-
MIDL2185
|
-
[context_handle] no se debe aplicar a un tipo que tenga [handle] aplicado.
- Los atributos [context_handle] y [handle] no se pueden aplicar al mismo tipo.
|
-
MIDL2186
|
-
[handle] no se debe especificar en un tipo derivado de void o void *
- Un tipo especificado con el atributo [handle] se puede transmitir a través de la red, pero el tipo void* no es un tipo transmisible. El tipo de identificador debe resolverse en un tipo que se derive de los tipos base transmisibles.
|
-
MIDL2187
|
-
el parámetro debe tener [in], [out] o [in,out] en este modo. Debe especificar /ms_ext o /c_ext
- El compilador IDL de DCE requiere que todos los parámetros tengan parámetros direccionales explícitos. Para usar las extensiones de Microsoft para DCE IDL, no puede usar el modificador /osf , que invalida /ms_ext y /c_ext.
|
-
MIDL2188
|
-
El tipo transmitido no puede derivar de "void" para [transmit_as], [represent_as], [wire_marshal], [user_marshal]
- El atributo [transmit_as] solo se aplica a los tipos de puntero. Use el tipo void* en lugar de void.
|
-
MIDL2189
|
-
Se debe especificar "void" en la primera y solo especificación de parámetro
- La palabra clave void aparece incorrectamente con otros parámetros de función. Para especificar una función sin parámetros, la palabra clave void debe ser el único elemento de la lista de parámetros, como en el ejemplo siguiente:
void Moo(void)
|
-
MIDL2190
|
-
[switch_is] solo se debe especificar en un tipo derivado de una unión no encapsulada
- La palabra clave [switch_is] se aplica incorrectamente. Solo se puede usar con tipos de unión no encapsulados.
|
-
MIDL2191
|
-
Las estructuras que admiten cadenas no se implementan en esta versión
- DCE IDL permite que el atributo [string] se aplique a una estructura cuyos elementos constan solo de caracteres, bytes o tipos que se resuelven en caracteres o bytes. Esta funcionalidad no se admite en RPC de Microsoft. El atributo [string] no se puede aplicar a la estructura en su conjunto. Sin embargo, se puede aplicar a cada matriz individual.
|
-
MIDL2192
|
-
el tipo switch solo puede ser entero, char, booleano o enumeración.
- El tipo especificado no se resuelve en un tipo de modificador válido. Use un entero, carácter, byte, booleano, tipo de enumeración o un tipo derivado de uno de estos tipos.
|
-
MIDL2193
|
-
[handle] no se debe especificar en un tipo derivado de handle_t
- Un tipo de identificador debe definirse mediante uno y solo uno de los tipos o atributos de identificador. Use el tipo primitivo handle_t o el atributo [handle], pero no ambos. El tipo de identificador definido por el usuario debe ser transmisible, pero el tipo de handle_t no se transmite en la red.
|
-
MIDL2194
|
-
el parámetro derivado de handle_t no debe ser un parámetro [out]
- Un identificador del tipo primitivo handle_t es significativo solo en el lado de la aplicación en la que se define. El tipo handle_t no se transmite en la red.
|
-
MIDL2195
|
-
la expresión de atributo se deriva de la desreferencia de puntero [unique] o [ptr]
- Aunque los atributos de puntero completo y [unique] permiten que los punteros tengan valores NULL, la expresión que define el atributo size o length nunca debe tener un valor NULL. Cuando se usan punteros, MIDL restringe las expresiones a punteros [ref].
|
-
MIDL2196
|
-
"cpp_quote" requiere /ms_ext
- El atributo cpp_quote es una extensión de Microsoft para DCE IDL. No use el modificador del compilador MIDL /osf, que invalida /ms_ext.
|
-
MIDL2197
|
-
uuid entre comillas requiere /ms_ext
- La capacidad de especificar un valor UUID entre comillas es una extensión de Microsoft para DCE IDL. No use el modificador del compilador MIDL /osf, que invalida /ms_ext.
|
-
MIDL2198
|
-
tipo devuelto no se puede derivar de una unión no encapsulada
- La unión no encapsulada no se puede usar como un tipo de valor devuelto de función. Para devolver el tipo de unión, especifique el tipo de unión como un parámetro [out] o [in, out].
|
-
MIDL2199
|
-
tipo devuelto no se puede derivar de una estructura conforme
- El tamaño del tipo de valor devuelto debe ser una constante. No se puede especificar como un tipo de valor devuelto una estructura que contiene una matriz conforme incluso cuando la estructura también incluye su especificador de tamaño. Para devolver la estructura conforme, especifique la estructura como un parámetro [out] o [in, out].
|
-
MIDL2200
|
-
[transmit_as] no se debe aplicar a un tipo derivado de un identificador genérico
- En esta versión, los atributos [handle] y [transmit_as] no se pueden combinar en el mismo tipo.
|
-
MIDL2201
|
-
[handle] no se debe aplicar a un tipo que tenga [transmit_as] aplicado.
- En esta versión, los atributos [handle] y [transmit_as] no se pueden combinar en el mismo tipo.
|
-
MIDL2202
|
-
el tipo especificado para la declaración const no es válido
- Las declaraciones de constantes se limitan a tipos enteros, caracteres, caracteres anchos, cadenas y booleanos.
|
-
MIDL2203
|
-
No se admite el operando al operador sizeof.
- El compilador MIDL solo admite la operación sizeof para tipos simples. El operando especificado no se evalúa como un tipo entero.
|
-
MIDL2204
|
-
este nombre ya se usó como nombre de identificador const.
- El identificador se ha usado anteriormente para identificar una constante en una declaración const . Cambie el nombre de uno de los identificadores para que los identificadores sean únicos.
|
-
MIDL2205
|
-
redefinición incoherente del tipo error_status_t
- El tipo error_status_t debe resolverse en el tipo unsigned long. No se pueden usar otras definiciones de tipo.
|
-
MIDL2206
|
-
[caso] valor fuera del intervalo del tipo de modificador
- El valor asociado al caso de la instrucción switch está fuera del intervalo para el tipo de modificador especificado. Por ejemplo, este error se produce cuando se usa un valor entero largo en la instrucción case para un tipo entero corto.
|
-
MIDL2207
|
-
el parámetro derivado de wchar_t necesita /ms_ext
- El tipo de caracteres anchos wchar_t es una extensión de Microsoft para DCE IDL. No use el modificador del compilador MIDL /osf, que invalida /ms_ext
|
-
MIDL2208
|
-
esta interfaz solo tiene devoluciones de llamada
- Las devoluciones de llamada solo son válidas en el contexto de una llamada a procedimiento remoto. La interfaz debe incluir al menos un prototipo de función para una llamada a procedimiento remoto que no incluya el atributo [devolución de llamada].
|
-
MIDL2209
|
-
atributo especificado redundantemente; Ignorado
- El atributo especificado se ha aplicado más de una vez. Se omiten varias instancias del mismo atributo.
|
-
MIDL2210
|
-
tipo de identificador de contexto usado para un identificador implícito
- Se ha especificado un tipo definido mediante el atributo [context_handle] como el tipo de identificador en un atributo [ implicit_handle]. Los atributos no se pueden combinar de esta manera.
|
-
MIDL2211
|
-
opciones conflictivas especificadas para [asignar]
- Las opciones especificadas para el atributo ACF [allocate] representan directivas en conflicto. Por ejemplo, especifique la opción all_nodes o la opción single_node, pero no ambas.
|
-
MIDL2212
|
-
error al escribir en el archivo
- Error al escribir en el archivo. Esta condición puede deberse a errores relacionados con el espacio en disco, los identificadores de archivo, las restricciones de acceso a archivos y los errores de hardware.
|
-
MIDL2213
|
-
no se encontró ningún tipo de modificador en la definición de unión mediante el tipo [switch_is]
- La definición de unión no incluye un atributo explícito [switch_type]. El tipo de la variable especificada por el atributo [switch_is] se usa como tipo de modificador.
|
-
MIDL2214
|
-
comprobación semántica incompleta debido a errores anteriores
- El compilador MIDL realiza dos pasos sobre los archivos de entrada para resolver las declaraciones directas. Debido a errores detectados durante el primer paso, no se ha realizado la comprobación del segundo paso. Es posible que los errores no notificados relacionados con las declaraciones de reenvío sigan estando presentes en el archivo.
|
-
MIDL2215
|
-
no se admite el parámetro handle o el tipo de valor devuelto en un procedimiento [callback]
- Un procedimiento [devolución de llamada] se produce en el contexto de una llamada de un cliente al servidor y usa el mismo identificador de enlace que la llamada original. Los parámetros de identificador de enlace explícitos o los tipos de valor devuelto no se permiten en las funciones de devolución de llamada.
|
-
MIDL2216
|
-
[ptr] no admite el alias en esta versión.
- Un alias se produce cuando se puede acceder a los datos a través de más de un nombre de puntero o variable. Quite el alias. Para obtener más información, vea Punteros únicos.
|
-
MIDL2217
|
-
parámetro ya definido como identificador de contexto
- El parámetro se definió previamente como un identificador de contexto.
|
-
MIDL2218
|
-
[context_handle] no debe derivar de handle_t
- Las tres características de identificador: el tipo handle_t, el atributo [handle] y el atributo [context_handle], son mutuamente excluyentes. Solo se puede aplicar una característica a un tipo o parámetro a la vez.
|
-
MIDL2219
|
-
el tamaño de la matriz supera los 65536 bytes.
- En algunas plataformas de Microsoft, el tamaño máximo de los datos transmisibles es de 64 000. Rediseñe la aplicación para que todos los datos transmitidos se ajusten al tamaño máximo transmisible.
|
-
MIDL2220
|
-
el tamaño de estructura supera los 65536 bytes.
- En algunas plataformas de Microsoft, el tamaño máximo de los datos transmisibles es de 64 000. Rediseñe la aplicación para que todos los datos transmitidos se ajusten al tamaño máximo transmisible.
|
-
MIDL2221
|
-
el campo de una unión no encapsulada no puede ser otra unión sin encapsular
- Las uniones que se transmiten como parte de una llamada a procedimiento remoto requieren un elemento de datos asociado, el discriminante, que selecciona el brazo de unión. Las uniones anidadas en otras uniones no ofrecen un discriminante; como resultado, no se pueden transmitir en este formato. Cree una estructura que consta de la unión y su discriminante.
|
-
MIDL2222
|
-
atributos de puntero aplicados en una matriz incrustada; Ignorado
- Un atributo de puntero solo se puede aplicar a una matriz cuando la matriz es un parámetro de nivel superior. Se omiten otros atributos de puntero aplicados a las matrices incrustadas en otras estructuras de datos.
|
-
MIDL2223
|
-
[allocate] no es válido en el tipo transmitido o presentado para [transmit_as], [represent_as], [wire_marshal] o [user_marshal]
- Los atributos [transmit_as] y [allocate] no se pueden aplicar al mismo tipo. El atributo [transmit_as] distingue entre los tipos presentados y transmitidos, mientras que el atributo [allocate] supone que el tipo presentado es el mismo que el tipo transmitido.
|
-
MIDL2224
|
[switch_type] debe especificarse en este modo de importación.
|
-
MIDL2225
|
-
[implicit_handle] escriba undefined; suponiendo que el identificador genérico
- El tipo de identificador especificado en ACF no está definido en el archivo IDL. El compilador MIDL supone que el tipo de controlador se resuelve en el tipo de identificador primitivo handle_t. Agregue el atributo [handle] a la definición de tipo si desea que el identificador se comporte como un identificador genérico o definido por el usuario.
|
-
MIDL2226
|
-
El elemento array no debe derivar de error_status_t
- En esta versión de Rpc de Microsoft, el tipo error_status_t solo puede aparecer como parámetro o tipo de valor devuelto. No puede aparecer en matrices.
|
-
MIDL2227
|
-
[allocate] no válido en un tipo derivado de un identificador primitivo,genérico o de contexto
- Por diseño, el atributo ACF [allocate] no se puede aplicar para controlar los tipos.
|
-
MIDL2228
|
-
el tipo transmitido o presentado no debe derivar de error_status_t
- En esta versión de Rpc de Microsoft, el tipo error_status_t no se puede usar con el atributo [transmit_as].
|
-
MIDL2229
|
-
Discriminant de una unión no debe derivar de un campo con [ignore] aplicado a él
- Una unión utilizada en una llamada a procedimiento remoto debe estar asociada a otro elemento de datos, denominado discriminante, que selecciona el brazo de unión. El discriminante debe transmitirse. El atributo [ignore] no se puede aplicar al discriminante de unión.
|
-
MIDL2230
|
-
[nocode] se omite en el lado servidor, ya que no se ha especificado "/server none"
- Algunos compiladores IDL de DCE generan un error cuando el atributo [nocode] se aplica a un procedimiento en una interfaz para la que se generan archivos auxiliares de servidor. Dado que el servidor debe admitir todas las operaciones, [nocode] no se debe aplicar a un procedimiento en este modo, o debe usar el modificador del compilador MIDL /server none para especificar explícitamente que no se van a generar rutinas de servidor.
|
-
MIDL2231
|
-
no hay procedimientos remotos especificados en la interfaz no[local] ; no se generarán códigos auxiliares de cliente o servidor
- La interfaz proporcionada no tiene ningún procedimiento remoto, por lo que solo se generarán archivos de encabezado.
|
-
MIDL2232
|
-
demasiados casos predeterminados especificados para la unión encapsulada
- Una unión encapsulada solo puede tener un valor predeterminado: arm.
|
-
MIDL2233
|
-
demasiadas interfaces predeterminadas especificadas para coclase
- Una coclase puede tener como máximo dos miembros [predeterminados], uno para representar la interfaz saliente (origen) o dispinterface, y otro para representar la interfaz entrante (receptor) o dispinterface.
|
-
MIDL2234
|
-
los elementos con [defaultvtable] también deben tener [source]
- La interfaz defaultvtable crea una segunda interfaz de origen para un objeto, una que permite a los receptores recibir eventos a través de la tabla V.
|
-
MIDL2235
|
-
La especificación de unión sin campos no es válida
- Las uniones deben tener al menos un campo.
|
-
MIDL2236
|
-
valor fuera del intervalo
- El valor de caso proporcionado está fuera del intervalo del tipo de modificador.
|
-
MIDL2237
|
-
[context_handle] debe aplicarse en un tipo de puntero
- Los identificadores de contexto siempre deben ser tipos de puntero. DCE especifica que todos los identificadores de contexto deben escribirse como void *.
|
-
MIDL2238
|
-
El tipo de valor devuelto no debe derivar de handle_t
-
no se puede devolver handle_t.
|
-
MIDL2239
|
-
[handle] no se debe aplicar a un tipo derivado de un identificador de contexto
- Un tipo no puede ser un identificador de contexto ni un identificador genérico.
|
-
MIDL2240
|
-
el campo derivado de un "int" debe tener el especificador de tamaño "small", "short" o "long" con "int"
- El tipo int no es transmisible en sistemas de 16 bits, ya que el tamaño de int puede ser diferente entre las máquinas.
|
-
MIDL2241
|
-
field no debe derivar de un void o void *
-
void y void * no se pueden usar como tipos de parámetros para procedimientos remotos.
|
-
MIDL2242
|
-
field no debe derivar de una estructura que contenga campos de bits
- Las estructuras que contienen campos de bits no se pueden usar como parámetros ni tipos de valor devuelto para procedimientos remotos.
|
-
MIDL2243
|
-
el campo no debe derivar de una unión no rpcble
- Se debe especificar una unión como una unión no encapsulada o una unión encapsulada para poder transmitirse. Los sindicatos C ordinarios carecen del discriminante necesario para transmitir la unión a través de la red.
|
-
MIDL2244
|
-
field no debe derivar de un puntero a una función.
- Los punteros a funciones no se pueden transmitir a procedimientos remotos. Los punteros a las funciones apuntan al código de función y no se puede transmitir ningún código de función a través de la red mediante RPC.
|
-
MIDL2245
|
-
no puede usar [fault_status] en un parámetro y un tipo de valor devuelto
- El atributo [fault_status] solo se puede usar una vez por procedimiento. El atributo [comm_status] se puede usar de forma independiente.
|
-
MIDL2246
|
-
tipo de valor devuelto demasiado complicado para los modos /Oi, mediante /Os
- Los tipos de valor devueltos grandes que se pasan por valor solo se pueden controlar mediante códigos auxiliares de optimización de /Os . Los códigos auxiliares de esta rutina se generarán mediante la optimización de /Os .
|
-
MIDL2247
|
-
tipo de identificador genérico demasiado grande para los modos /Oi, mediante /Os
- Los códigos auxiliares de optimización de /Os solo pueden controlar los tipos de identificador genéricos grandes que se pasan por valor. Los códigos auxiliares de esta rutina se generarán mediante la optimización de /Os .
|
-
MIDL2248
|
-
[allocate(all_nodes)] en un parámetro [in,out] puede huérfana la memoria original
- El uso de [allocate(all_nodes)] en un parámetro [in, out] debe reasignar la memoria contigua para la dirección [out], lo que huérfana el parámetro [in]. Este uso no se recomienda.
|
-
MIDL2249
|
-
no puede tener un puntero [ref] como un brazo de unión
- Los punteros de referencia siempre deben apuntar a memoria válida, pero una unión [in, out] con un puntero de referencia puede devolver un puntero de referencia cuando la dirección [in] usó otro tipo.
|
-
MIDL2250
|
-
devolución de identificadores de contexto no admitidos para los modos /Oi, mediante /Os
- MIDL no admite controladores de contexto en los modos de optimización totalmente interpretados. Cambio a la optimización en modo mixto.
|
-
MIDL2251
|
-
uso del parámetro adicional [comm_status] o [fault_status] no se admite para los modos /Oi, mediante /Os
- Los atributos [comm_status] y [fault_status] solo se pueden controlar mediante códigos auxiliares de optimización de /Os . Los códigos auxiliares de esta rutina se generarán mediante la optimización de /Os .
|
-
MIDL2252
|
-
uso de un tipo desconocido para [represent_as] o [user_marshal] no se admite para los modos /Oi, mediante /Os
- El uso del atributo [represent_as] con un tipo local que no está definido en el archivo IDL o un archivo IDL importado solo se puede controlar mediante códigos auxiliares de optimización de /Os . Los códigos auxiliares de esta rutina se generarán mediante la optimización de /Os .
|
-
MIDL2253
|
-
tipos de matriz con [transmit_as] o [represent_as] no se admiten en el tipo de valor devuelto para los modos /Oi , mediante /Os
- La devolución de una matriz con [transmit_as] o [represent_as] aplicada solo se puede controlar mediante códigos auxiliares de optimización de /Os . Los códigos auxiliares de esta rutina se generarán mediante la optimización de /Os .
|
-
MIDL2254
|
-
tipos de matriz con [transmit_as] o [represent_as] no admitidos para los modos /Oi, mediante /Os
- Esta acción no se admite para la optimización totalmente interpretada. Cambio a la optimización en modo mixto.
|
-
MIDL2255
|
-
[devolución de llamada] requiere /ms_ext
- El atributo [devolución de llamada] es una extensión de Microsoft y requiere que se habilite el modificador /ms_ext . No compile con /osf, que invalida /ms_ext.
|
-
MIDL2256
|
-
dependencia de interfaz circular
- Esta interfaz se usa (directa o indirectamente) como interfaz base.
|
-
MIDL2257
|
-
solo IUnknown se puede usar como interfaz raíz.
- Actualmente, todas las interfaces deben tener IUnknown como interfaz raíz.
|
-
MIDL2258
|
-
[IID_IS] solo se puede aplicar a punteros a interfaces
- El atributo [iid_is] solo se puede aplicar a punteros de interfaz, aunque se pueden especificar como punteros a IUnknown *.
|
-
MIDL2259
|
-
Las interfaces solo se pueden usar en construcciones de puntero a interfaz
- Los nombres de interfaz no se pueden usar excepto como interfaces base o punteros de interfaz.
|
-
MIDL2260
|
-
los punteros de interfaz deben tener un UUID/IID
- El tipo base de la expresión [iid_is] debe ser un tipo UUID/GUID/IID.
|
-
MIDL2261
|
-
las definiciones y declaraciones fuera del cuerpo de la interfaz requieren /ms_ext
- Colocar declaraciones y definiciones fuera de cualquier cuerpo de interfaz es una extensión de Microsoft y requiere el uso del modificador /ms_ext .
|
-
MIDL2262
|
-
varias interfaces de un archivo requieren /ms_ext
- El uso de varias interfaces en un único archivo idl es una extensión de Microsoft y no está disponible cuando se compila en modo /osf .
|
-
MIDL2263
|
-
solo se permite una de [implicit_handle], [auto_handle] o [explicit_handle]
- Cada interfaz solo puede tener uno de estos tres atributos.
|
-
MIDL2264
|
-
[implicit_handle] hace referencia a un tipo que no es un identificador
- Los identificadores implícitos deben ser de uno de los tipos de identificador.
|
-
MIDL2265
|
-
[object] los procedimientos solo se pueden usar con "/env win32"
- Las interfaces con el atributo [object] no se pueden usar con entornos de 16 bits.
|
-
MIDL2266
|
-
[callback] with -env dos/win16 not supported for /Oi, using /Os
- Las devoluciones de llamada en entornos de 16 bits solo se pueden controlar mediante códigos auxiliares de optimización de /Os . Los códigos auxiliares de esta rutina se generarán mediante la optimización de /Os .
|
-
MIDL2267
|
-
float/double no se admite como parámetro de nivel superior para el modo /Oi, mediante /Os
- Los tipos float y double solo se pueden controlar como parámetros mediante los códigos auxiliares de optimización de /Os . Los códigos auxiliares de esta rutina se generarán mediante la optimización de /Os . Los tipos float y double dentro de estructuras, matrices o uniones todavía se pueden controlar con /Os.
|
-
MIDL2268
|
-
Es posible que los punteros a identificadores de contexto no se usen como valores devueltos.
- Los identificadores de contexto se deben usar como valores devueltos directos, no como valores devueltos indirectos.
|
-
MIDL2269
|
-
los procedimientos de una interfaz de objeto deben devolver un HRESULT.
- Todos los procedimientos de una interfaz de objeto que no tienen el atributo-[local] deben devolver un SCODE HRESULT/.
|
-
MIDL2270
|
-
UUID duplicado
- Igual que los UUID deben ser únicos.
|
-
MIDL2271
|
-
Las interfaces [object] deben derivarse de otra interfaz [object], como IUnknown.
- La herencia de interfaz solo se permite cuando se usan interfaces de objeto.
|
-
MIDL2272
|
-
(async) interfaz debe derivar de otra interfaz (asincrónica)
- Las interfaces de objeto, tanto sincrónicas como asincrónicas, deben derivarse de IUnknown u otra interfaz OLE base.
|
-
MIDL2273
|
-
[IID_IS] expresión debe ser un puntero a la estructura IID.
- El tipo base de la expresión [iid_is] debe ser un tipo UUID/GUID/IID.
|
-
MIDL2274
|
-
[call_as] el tipo debe ser un procedimiento [local]
- El destino de un tipo [call_as], si se define, debe tener aplicado [ local].
|
-
MIDL2275
|
-
no se debe usar [call_as] sin definir en una interfaz de objeto
- Debe definir el destino de un tipo [call_as]. Asegúrese de que ha proporcionado call_as rutinas para las aplicaciones que llama y las llamadas.
|
-
MIDL2276
|
-
[auto_handle] no se puede usar con [codificar] o [descodificar]
- Los atributos [ encode] y [ decode] solo se pueden usar con identificadores explícitos o identificadores implícitos.
|
-
MIDL2277
|
-
No se permiten procedimientos normales en una interfaz con [codificación] o [descodificación]
- Las interfaces que contienen procedimientos [codificar] o [descodificar] tampoco pueden tener procedimientos remotos.
|
-
MIDL2278
|
-
conformidad o varianza de nivel superior no permitida con [codificación] o [descodificación]
- Los tipos que tienen conformidad o varianza de nivel superior no pueden usar la serialización de tipos, ya que no hay ninguna manera de proporcionar ajuste de tamaño o longitud. Sin embargo, las estructuras que las contienen pueden usar la serialización de tipos.
|
-
MIDL2279
|
-
Es posible que los parámetros [out] no tengan "const"
- Dado que se modifica un parámetro [out], no se debe declarar como constante sa.
|
-
MIDL2280
|
-
Es posible que los valores devueltos no tengan "const"
- Dado que se establece un valor de función cuando la función devuelve, este valor no se debe declarar como una constante.
|
-
MIDL2281
|
-
Uso no válido del atributo "retval"
- Compruebe que no ha usado el atributo [opcional] y que el parámetro [retval] es el último parámetro de la lista.
|
-
MIDL2282
|
-
varias convenciones de llamada no válidas
- Solo se puede aplicar una convención de llamada a un único procedimiento.
|
-
MIDL2283
|
-
atributo no válido en el procedimiento [object]
- El atributo anterior solo se aplica a los procedimientos de las interfaces que no tienen el atributo [object].
|
-
MIDL2284
|
-
[out] los punteros de interfaz deben usar la doble direccionamiento indirecto
- Dado que el valor modificado es el puntero a la interfaz, debe haber otro nivel de direccionamiento indirecto por encima del puntero para permitir que se devuelva.
|
-
MIDL2285
|
-
procedimiento usado dos veces como el autor de la llamada en [call_as]
- Un procedimiento [local] determinado solo se puede usar una vez como destino de un [call_as], con el fin de evitar conflictos de nombres.
|
-
MIDL2286
|
-
[call_as] el destino debe tener [local] en una interfaz de objeto
- El destino de un [call_as] debe ser un procedimiento [local] definido en la interfaz actual.
|
-
MIDL2287
|
-
[code] y [nocode] no se pueden usar juntos
- Estos dos atributos son contradictorios y no se pueden usar juntos.
|
-
MIDL2288
|
-
Es posible que los procedimientos con atributos [tal vez] o [message] no tengan [out] parámetros o valores devueltos deben ser de tipo HRESULT o error_status_t
- Dado que los procedimientos [tal vez] nunca se devuelven, no hay ninguna manera de obtener valores devueltos.
|
-
MIDL2289
|
-
se debe usar el puntero a la función
- Aunque las definiciones de tipo de función se permiten en el modo /c_ext , solo se pueden usar como punteros a las funciones. Nunca se pueden transmitir como un parámetro o un valor devuelto de un procedimiento remoto.
|
-
MIDL2290
|
-
Es posible que las funciones no se pasen en una operación RPC
- Las funciones y los punteros de función no se pueden pasar como parámetros ni valores devueltos de procedimientos remotos.
|
-
MIDL2291
|
-
hyper/double no se admite como valor devuelto para los modos /Oi, mediante /Os
- Los códigos auxiliares de optimización /Os solo pueden controlar los valores devueltos de Hyper y double. Los códigos auxiliares de esta rutina se generarán mediante la optimización de /Os .
|
-
MIDL2292
|
-
#pragma pack(pop) sin coincidencia #pragma pack(push)
- #pragma pack(push) y #pragma pack(pop) deben aparecer en pares coincidentes. Se especificaron al menos uno demasiados #pragma pack(push)s.
|
-
MIDL2293
|
-
Los campos de estructura que aceptan cadenas deben ser byte/char/wchar_t
- El tipo [string] solo se puede aplicar a una estructura cuyos campos son de tipo byte o una definición de tipo equivalente a byte.
|
-
MIDL2294
|
-
[notify] no se admite para los modos /Oi, mediante /Os
- El atributo [notify] solo se puede procesar mediante códigos auxiliares de optimización de /Os .
|
-
MIDL2295
|
-
no se admite el parámetro handle o el tipo de valor devuelto en un procedimiento de una interfaz [object]
- Los identificadores no se pueden usar con interfaces [ object].
|
-
MIDL2296
|
-
ANSI C solo permite que no se especifique la matriz situada más a la izquierda.
- En una matriz conforme, ANSI C solo permite que no se especifique la matriz situada más a la izquierda (la más significativa). Si varias dimensiones son conformes, MIDL intentará colocar un "1" en las otras dimensiones compatibles. Si las demás dimensiones se definen en una definición de tipo diferente, esto no puede ser posible. Intente colocar todas las dimensiones de matriz en la declaración de matriz para evitarlo. En cualquier caso, tenga cuidado con los cálculos de indexación de matriz realizados por el compilador; Es posible que tenga que realizar sus propios cálculos con los tamaños reales.
|
-
MIDL2297
|
-
Parámetros de unión por valor no admitidos para los modos /Oi, mediante /Os
- Esta acción no se admite para la optimización totalmente interpretada. Cambio a optimización en modo mixto.
|
-
MIDL2298
|
-
El atributo [version] se omite en una interfaz [object]
- El atributo [object] identifica una interfaz COM. Una lista de atributos de interfaz para una interfaz COM no puede incluir el atributo [ version].
|
-
MIDL2299
|
-
El atributo [size_is] o [max_is] no es válido en una matriz fija
- Las matrices de tamaño fijo no pueden usar los atributos size_is ni max_is .
|
-
MIDL2300
|
-
[codificar] o [descodificar] no son válidos en una interfaz [object]
- El atributo [object] identifica una interfaz COM. Los atributos [encode] y [ decode] habilitan la serialización. Es decir, puede proporcionar y controlar los búferes para las referencias de datos y desmarshal, pero no puede realizar la serialización en interfaces COM.
|
-
MIDL2301
|
-
[codificar] o [descodificar] en un tipo requiere /ms_ext
- La serialización no forma parte de la especificación DCE-IDL. Es una extensión de Microsoft que requiere el uso del modificador de línea de comandos /ms_ext .
|
-
MIDL2302
|
-
no se admite en /env win16 o /env dos
- Las plataformas de Microsoft de 16 bits no admiten el uso del tipo int en un archivo IDL. Califica el tipo int con small, short o long.
|
-
MIDL2303
|
-
[bstring] solo se puede aplicar a un puntero a "char" o "whchar_t"
- Este error está obsoleto. Solo se proporciona por motivos de compatibilidad con versiones anteriores.
|
-
MIDL2304
|
-
atributo no válido en un procedimiento de una interfaz [object]
- No se permite el atributo especificado en el procedimiento en una interfaz COM.
|
-
MIDL2305
|
-
atributo no válido en una interfaz [object]
- No se permite el atributo especificado en una interfaz COM.
|
-
MIDL2306
|
-
demasiados parámetros o pilas demasiado grandes para los modos /Oi, mediante /Os
- Esta advertencia está obsoleta. Solo se proporciona por motivos de compatibilidad con versiones anteriores. Indica que la llamada al procedimiento remoto hace que la pila crezca más de 64 K.
|
-
MIDL2307
|
-
no hay atributos en la definición de tipo de archivo ACF, por lo que no hay ningún efecto
- El archivo IDL debe contener todas las instrucciones typedef que no tienen atributos. No deben producirse en archivos ACF. Si lo hacen, el compilador MIDL los interpreta como redundantes y los omite.
|
-
MIDL2308
|
-
las convenciones de llamada que no sean __stdcall o __cdecl no se admiten para los modos /Oi, mediante /Os
- Las convenciones de llamada, como __pascal o __fastcall cambiar el formato de la pila. Los modos /Oi solo admiten las convenciones de llamada de __stdcall y __cdecl . Si debe usar otras convenciones de llamada, use el modo /Os .
|
-
MIDL2309
|
-
Demasiados métodos de delegación en la interfaz, requieren Windows 2000 o superior
- Una interfaz puede heredar de otra. Cuando lo hace, los métodos de la interfaz base se consideran delegados. Ninguna interfaz derivada puede contener más de 256 métodos delegados.
|
-
MIDL2310
|
-
no se admiten controladores automáticos con /env mac o /env powermac
- Al compilar el archivo IDL para una instancia de PowerMac, no puede usar identificadores de enlace automáticos. Debe especificar identificadores explícitos o implícitos.
|
-
MIDL2311
|
-
las instrucciones fuera del bloque de biblioteca no son válidas en el modo de compatibilidad mktyplib
- Es posible que tenga que especificar el modificador de línea de comandos /mktyplib203 al compilar el archivo IDL.
Nota:
La herramienta Mktyplib.exe está obsoleta. En su lugar, use el compilador MIDL.
|
-
MIDL2312
|
-
sintaxis no válida a menos que use el modo de compatibilidad mktyplib
- Es posible que tenga que especificar el modificador de línea de comandos /mktyplib203 al compilar el archivo IDL.
Nota:
La herramienta Mktyplib.exe está obsoleta. En su lugar, use el compilador MIDL.
|
-
MIDL2313
|
-
definición no válida, debe usar typedef en el modo de compatibilidad mktyplib
- Es posible que tenga que especificar el modificador de línea de comandos /mktyplib203 al compilar el archivo IDL.
Nota:
La herramienta Mktyplib.exe está obsoleta. En su lugar, use el compilador MIDL.
|
-
MIDL2314
|
-
atributo de puntero explícito [ptr] [ref] omitido para punteros de interfaz
- Los punteros a interfaces no pueden tener atributos IDL.
|
-
MIDL2315
|
Modos /Oi no implementados para PowerMac, cambiando a /Os
|
-
MIDL2316
|
-
Tipo de expresión no válido usado en el atributo
- El valor predeterminado del puntero debe ser una constante.
|
-
MIDL2317
|
-
tipo no válido usado en la canalización
- Las canalizaciones están limitadas a los tipos de datos IDL básicos. Por ejemplo, no se puede especificar una canalización de matrices.
|
-
MIDL2318
|
-
el procedimiento usa canalizaciones, mediante /Oicf
- El modo seleccionado no admite canalizaciones. El compilador MIDL detectó el uso de una o varias canalizaciones en la interfaz. Por lo tanto, está compilando el archivo IDL en modo /Oicf .
|
-
MIDL2319
|
-
procedure tiene un atributo que requiere el uso de /Oif, los modos de conmutación
- Debe compilar procedimientos [async] en modo /Oif .
|
-
MIDL2320
|
-
requisitos de optimización en conflicto, no se puede optimizar
- Este error suele indicar que especificó los modos del compilador MIDL /Os y /Oi (o una variante de /Oi). También puede significar que las características especificadas en los archivos IDL y ACL requieren el uso de ambos modos. Debe seleccionar un modo u otro para optimizarlo.
|
-
MIDL2321
|
-
las canalizaciones no pueden ser elementos de matriz ni miembros de estructuras o uniones
- Los tipos de datos de canalización solo pueden ser parámetros de nivel superior.
|
-
MIDL2322
|
-
uso de canalización no válido
- No se pueden usar canalizaciones con los atributos [transmit_as], [represent_as] o [user_marshal]. Además, las canalizaciones no se pueden usar como tipos de valor devuelto.
|
-
MIDL2323
|
-
la característica requiere la opción avanzada de optimización interpretada; use -Oicf
- Este error indica que los modificadores de línea de comandos del compilador MIDL, como /robust , requieren el uso del modo /Oicf .
|
-
MIDL2324
|
-
la característica requiere la opción avanzada de optimización interpretada; use -Oicf
- Esta advertencia indica que los modificadores de línea de comandos del compilador MIDL, como /robust , requieren el uso del modo /Oicf .
|
-
MIDL2329
|
-
la opción de optimización se está eliminando por fases, use -Oic.
- El modo de optimización /Oi1 se especificó en la línea de comandos MIDL. Este modo ya no se admite y se debe usar /Oicf en su lugar.
|
-
MIDL2330
|
-
la opción de optimización se está eliminando por fases, use -Oicf.
- El modo de optimización /Oi2 se especificó en la línea de comandos MIDL. Este modo ya no se admite y se debe usar /Oicf en su lugar.
|
-
MIDL2331
|
-
la opción de optimización se está eliminando por fases, use -ic
- El modo de optimización i1 se especificó en un atributo ACF [optimize]. Este modo ya no se admite y se debe usar icf en su lugar.
Archivo ACF de ejemplo:
[optimize("i1")] roo(); //MIDL 2331
|
-
MIDL2332
|
-
la opción de optimización se está eliminando por fases, use -icf.
- El modo de optimización i2 se especificó en un atributo ACF [optimize]. Este modo ya no se admite y se debe usar icf en su lugar.
Archivo ACF de ejemplo:
[optimize("i2")] roo(); //MIDL 2332
|
-
MIDL2333
|
-
los modificadores -old y -new están obsoletos, use -oldtlb y -newtlb.
- Este mensaje está obsoleto y MIDL ya no lo omite.
|
-
MIDL2334
|
-
valor de argumento no válido
- Las variantes permitidas del modificador de línea de comandos /O incluyen /Os, /Oi, /Oic, /Oicf y /Oif.
|
-
MIDL2335
|
-
Tipo de expresión no válido en constante
- La expresión no se evalúa como una constante.
|
-
MIDL2336
|
-
Tipo de expresión no válido en enumeración
- Un valor enumerado en una definición de enumeración no se evalúa como un tipo entero.
|
-
MIDL2337
|
-
declaración de reenvío no satisfecho
- El compilador MIDL no pudo resolver la definición de una declaración reenviada.
|
-
MIDL2338
|
-
los modificadores son contrarias
- No puede usar los modificadores de línea de comandos /osf y /ms_ext al compilar un archivo IDL. Debe elegir uno u otro.
|
-
MIDL2339
|
-
MIDL no puede generar información de HOOKOLE para la unión no capaz de rpc
- Este error está obsoleto. Se proporciona estrictamente para la compatibilidad con versiones anteriores.
|
-
MIDL2340
|
-
no se encontró ninguna expresión de caso para union
- Cada campo de una unión debe tener una instrucción case con una expresión constante.
|
-
MIDL2341
|
-
[user_marshal] y [wire_marshal] no se admiten con las marcas -Oi y -Oic, use -Os o -Oicf.
- Los atributos [user_marshal] y [wire_marshal] requieren las características de optimización específicas disponibles solo en /Oicf (proxy sin código con cadenas de formato rápido) o /Os (serialización de modo mixto).
|
-
MIDL2342
|
-
Las canalizaciones no se pueden usar con la serialización de datos, es decir, [codificar] o [descodificar]
- No se pueden pasar canalizaciones como parámetros a procedimientos que tengan los atributos [encode] o [decode].
|
-
MIDL2343
|
-
todos los punteros de interfaz de canalización deben usar un único direccionamiento indirecto
- No se puede usar un puntero a un puntero a una interfaz de canalización de esta manera.
|
-
MIDL2344
|
-
[iid_is()] no se puede usar con un puntero de interfaz de canalización
- Este mensaje está obsoleto. El compilador ya no usa este mensaje.
|
-
MIDL2345
|
-
modificador -lcid no válido o no aplicable
- El identificador local (LCID) que especificó no es válido.
|
-
MIDL2346
|
-
el lcid especificado es diferente de la especificación anterior
- Los valores especificados en /lcid y [lcid] son diferentes. El compilador MIDL usará el último definido.
|
-
MIDL2347
|
-
importlib no se permite fuera de un bloque de biblioteca
- Todas las instrucciones [importlib] deben producirse en un bloque [library].
|
-
MIDL2348
|
-
valor de punto flotante no válido
- Midl no debe emitir este error. Si ve este error, notifique un error a Microsoft que proporciona todos los archivos necesarios para reproducir el error, incluidos los archivos IDL, los archivos ACF, los encabezados, etc.
|
-
MIDL2349
|
-
miembro no válido
- Los procedimientos no pueden ser miembros de una biblioteca.
|
-
MIDL2350
|
-
posible miembro no válido
- Para ser un miembro válido de una biblioteca, el elemento library debe ser un módulo, un dispinterface, una coclase, una instrucción if, una estructura, una unión, una enumeración o una declaración de reenvío.
|
-
MIDL2351
|
-
error de coincidencia en los tipos de canalización e interfaz
- Este mensaje está obsoleto.
|
-
MIDL2352
|
-
string, variable matriz, matriz compatible y parámetros de puntero completo pueden ser incompatibles con los parámetros de canalización durante el tiempo de ejecución.
- Un método que combina una o varias cadenas [in], matrices variables, matrices conformes y parámetros de puntero completos y cualquier parámetro de canalización [in] da como resultado la generación de un código auxiliar que solo se ejecuta en secuencias de protocolo ncacn_* y ncalrpc en equipos Windows. El uso del código auxiliar para realizar llamadas en secuencias de protocolo ncadg_* o aceptar llamadas de otros proveedores rpc de DCE de OSF puede generar errores en el servidor durante el tiempo de ejecución. Este error se produce a partir de Windows Server 2003.
|
-
MIDL2353
|
-
el parámetro debe estar en
- Los identificadores asincrónicos deben ser parámetros [in].
|
-
MIDL2354
|
-
el tipo de parámetro de un objeto [async] debe ser un puntero doble a una interfaz.
- El parámetro debe ser de tipo IAsyncManager **.
|
-
MIDL2355
|
-
tipo de identificador asincrónico incorrecto
- El tipo de identificador debe ser IAsyncManager o un tipo derivado de IAsyncManager.
|
-
MIDL2356
|
-
El modificador "interno" habilita características no admitidas, use con precaución.
- Evite usar este modificador.
|
-
MIDL2357
|
-
Los procedimientos asincrónicos no pueden usar el identificador automático
- Los procedimientos con el atributo [async] requieren identificadores explícitos.
|
-
MIDL2358
|
-
error_status_t debe tener [comm_status] y [fault_status]
- Se especificó un procedimiento con los atributos IDL [tal vez] o [message], pero el tipo de valor devuelto solo tiene los atributos de ACF [comm_status] o [fault_status]. Se requieren ambos atributos de ACF.
Archivo ACF de ejemplo:
[comm_status] roo(); //MIDL 2358
[fault_status] bar(); //MIDL 2358
[comm_status, fault_status] baz(); //OK
|
-
MIDL2359
|
-
esta construcción solo se permite dentro de un bloque de biblioteca.
- Un módulo solo puede producirse dentro de un bloque de biblioteca.
|
-
MIDL2360
|
-
redefinición de tipos no válidos
- Un nuevo tipo se definió recursivamente en un tipo no existente.
Ejemplo:
typedef roo roo[10]; //MIDL 2360
|
-
MIDL2361
|
-
los procedimientos con un atributo [vararg] deben tener un parámetro SAFEARRAY(VARIANT); param order is [vararg], [lcid], [retval]
- La mayoría de los parámetros de los procedimientos con el atributo [vararg] deben producirse antes del parámetro SAFEARRAY(VARIANT). El parámetro SAFEARRAY(VARIANT) debe estar presente. Si la lista de parámetros contiene un parámetro con el atributo [ lcid], debe seguir el parámetro SAFEARRAY(VARIANT). Si la lista de parámetros contiene un parámetro con el atributo [retval], debe producirse después del parámetro con el atributo [lcid].
|
-
MIDL2363
|
-
demasiados métodos en la interfaz, requiere Windows 2000 o posterior
- El compilador MIDL no permite más de 1024 métodos en una interfaz cuando se compila en modo /Oicf .
|
-
MIDL2364
|
-
switch se está desconectando por fases
- Los modificadores siguientes están obsoletos: /hookole, /env win16 y /env.
|
-
MIDL2365
|
-
no se puede derivar de IAdviseSink, IAdviseSink2 o IAdviseSinkEx
- Estas interfaces no se pueden extender.
|
-
MIDL2366
|
-
no puede asignar un valor predeterminado
- Se permite asignar un valor predeterminado a un parámetro en Visual Basic, pero no en C++. Si usa C++, se omite el valor predeterminado.
|
-
MIDL2367
|
-
No se admite la generación de bibliotecas de tipos para DOS/Win16/MAC
- MIDL no admite bibliotecas de tipos de 16 bits.
|
-
MIDL2368
|
-
error al generar la biblioteca de tipos, omitida
- Se produjo un error nofatal al generar la biblioteca de tipos.
|
-
MIDL2369
|
-
tamaño de pila superado para /Oi, mediante /Os
- El modo de optimización -Oi está limitado a 128 bytes de espacio de pila para los parámetros. El compilador ha cambiado automáticamente al modo de optimización del sistema operativo para solucionar esta limitación.
Para evitar esta advertencia, use los modos de optimización -Oicf o -Os. El modo de optimización se puede cambiar en la línea de comandos especificando -Oicf o -Os en lugar de -Oi o agregando un atributo [optimize9"icf")] o optimize[("s")] a la función en el archivo ACF. Normalmente, esta advertencia se produce al pasar estructuras grandes como parámetros por valor. El tamaño de pila necesario se puede reducir pasando un puntero a la estructura en su lugar. Ejemplo:
typedef struct
{
char a[127];
}
large;
//This function has a stack size of 132 (x86) or 136 (alpha) on 32-bit systems
void roo(large s, int a); //MIDL 2360
// workaround: pass by reference
void bar (large *s, int a);
|
-
MIDL2370
|
-
el uso de /robust requiere /Oicf, modos de conmutación
- Debe compilar en modo /Oicf al especificar el modificador /robust en la línea de comandos.
|
-
MIDL2371
|
-
intervalo incorrecto especificado
- El valor más alto especificado en un atributo [range] es menor que el valor más bajo.
Ejemplo:
void roo([range(3,2)] int a); //MIDL 2371
|
-
MIDL2372
|
-
combinación no válida de los parámetros [in] y [out] para la interfaz [async_uuid]
- Solo se permiten combinaciones simples de atributos con parámetros [in] o [out] para este tipo de interfaz.
|
-
MIDL2373
|
-
Las plataformas DOS, Win16 y MAC no se admiten con /robust
- MIDL admite el modificador /robust en Microsoft Windows 2000 o posterior.
|
-
MIDL2374
|
-
La compatibilidad con los servidores proxy sin código auxiliar nt 3.51 para las interfaces de objeto se eliminará por fases; use /Oif.
- Este modo está obsoleto. Use /Oif o /Oicf.
|
-
MIDL2375
|
-
[codificar] o [descodificar] con /robust requiere /Oicf
- No se puede realizar la serialización cuando se especifica el modificador /robust .
|
-
MIDL2377
|
-
atributos conflictivos especificados
- Se especificaron [context_handle_serialize] y [context_handle_noserialize].
|
-
MIDL2378
|
-
[serialize], [noserialize] se puede aplicar a context_handles
- Los atributos de ACF [context_handle_serialize] o [context_handle_noserialize] solo se pueden aplicar a los tipos que son identificadores de contexto.
Archivo IDL de ejemplo:
typedef /*[context_handle] */ void *PV; //Note: PV is *not* a context handle.
Archivo ACF de ejemplo:
typedef [context_handle_serialize] PV; //MIDL 2378
|
-
MIDL2379
|
-
El compilador alcanzó un límite para una representación de cadena de formato. Consulte la documentación para obtener consejos.
- El compilador MIDL tiene un límite de 64 KB para cadenas de formato. Este error suele producirse cuando los archivos IDL incluyen otros archivos IDL. El archivo IDL compuesto generado por todas las instrucciones include supera los límites de las tablas de representación de tipo del intérprete del motor de serialización. Pruebe a usar la directiva import en lugar de la directiva include en los archivos IDL. Para obtener más información, consulte Importación de archivos de encabezado del sistema, inclusión e importación.
|
-
MIDL2380
|
-
El formato de conexión puede ser incorrecto; es posible que tenga que usar -ms_conf_struct, consulte la documentación para obtener consejos.
- El compilador MIDL no pudo generar un formato transmisible para los datos. Una manera común de obtener este error es definir un ms_conf_struct dentro de una estructura compleja.
|
-
MIDL2381
|
-
un tamaño de pila o un desplazamiento mayor que el límite de 64 K. Consulte la documentación para obtener consejos.
- La llamada da como resultado una pila de más de 64 KB. Intente pasar los datos en bloques más pequeños.
|
-
MIDL2382
|
-
un modo de intérprete forzado para la plataforma de 64 bits
- Las plataformas de 64 bits requieren el modo de compilación /Oicf.
|
-
MIDL2383
|
-
El tamaño del elemento de matriz es mayor que el límite de 64 KB.
- Todos los elementos de matriz deben tener un tamaño inferior a 64 KB.
|
-
MIDL2384
|
-
solo puede haber un parámetro [Icid] en un método y debe ser último o segundo para último si el último parámetro tiene [retval]
- Un parámetro con el atributo [lcid] debe producirse en último lugar. La única excepción es cuando también hay un parámetro con el atributo [retval]. Cuando se producen ambos, el segundo al último parámetro de la lista de parámetros debe tener el atributo [ lcid]. El último parámetro debe tener el atributo [retval].
|
-
MIDL2385
|
-
sintaxis incorrecta para midl_pragma
- El compilador MIDL detectó un error de sintaxis desconocido en una instrucción midl_pragma.
|
-
MIDL2386
|
-
__int3264 no se admite en el modo /osf
- Si necesita usar __int3264, compile en modo /ms-ext.
|
-
MIDL2387
|
-
símbolo sin resolver en la biblioteca de tipos
- El compilador no pudo resolver una declaración formal ni un tipo al que se hace referencia en la biblioteca de tipos.
|
-
MIDL2388
|
-
Las canalizaciones asincrónicas no se pueden pasar por valor
- Las canalizaciones asincrónicas se deben pasar por referencia o por dirección.
|
-
MIDL2389
|
-
el desplazamiento de parámetros supera el límite de 64 KB para los procedimientos interpretados
- Este error suele significar que un procedimiento tiene demasiados parámetros.
|
-
MIDL2390
|
-
elemento de matriz no válido
- Las canalizaciones no se pueden usar como elementos de matriz.
|
-
MIDL2391
|
-
Los miembros dispinterface deben ser métodos, propiedades o interfaces
- Una interfaz dispinterface no puede contener definiciones de tipo, estructuras, enumeraciones o uniones.
|
-
MIDL2392
|
-
Procedimiento [local] sin [call_as]
- Los procedimientos de objeto que tienen el atributo [local] también requieren el atributo [call_as].
|
-
MIDL2393
|
-
vector multidimensional, cambiando a /Oicf
- El modo de optimización /Os no admite matrices de tamaño no confijo multidimensional. El compilador ha cambiado automáticamente el modo de optimización a /Oicf para esta función.
Esta advertencia se puede suprimir globalmente cambiando el modo del compilador especificando /Oicf en la línea de comandos MIDL o usando midl_pragma advertencia (deshabilitar: 2393) en el archivo IDL. El modo de optimización se puede cambiar para una función individual agregando el atributo [optimize("icf")] a la función en el archivo ACF. En el ejemplo siguiente se muestra esta advertencia:
void roo(long s1, [size_is(s1)] long a[][30]; //MIDL2393
void bar(long s1, long s2, [size_is(s1,s2) long **a);//MIDL2393
|
-
MIDL2395
|
-
no se admite el tipo o la construcción en un bloque de biblioteca porque falta Oleaut32.dll compatibilidad con tipos polimórficos de 64 KB
- La automatización OLE no admite tipos polimórficos (como _int3264, INT_PTR, etc.). Estos tipos tienen representaciones de datos incompatibles entre plataformas de 32 y 64 bits. Se producirá un error en la llamada remota en tiempo de ejecución en plataformas de 64 bits.
Nota:
Tenga en cuenta que a partir de la versión de Windows 2000, los archivos TLB de 64 bits son compatibles con ole Automation mediante la conversión de información de TLB de 32 bits en tiempo de ejecución. Por lo tanto, midl solo admite la generación de TLB de 32 bits.
Si MIDL se usa solo para generar un archivo de encabezado, el modificador /notlb suprimirá la generación del archivo TLB.
|
-
MIDL2396
|
-
código de intérprete antiguo que se genera para 64b
- Este error está obsoleto. Si ve este error, notifique un error a Microsoft que proporciona los archivos IDL, los archivos ACF y la línea de comandos MIDL completa.
|
-
MIDL2397
|
-
El modificador del compilador ya no se admite
- Ya no se admiten los modificadores o modificadores especificados.
|
-
MIDL2398
|
-
no se puede ejecutar el motor MIDL
- A partir de la versión de Windows 2000 (MIDL versión 5.03.279), el compilador MIDL se implementa con dos archivos ejecutables: Midl.exe (el controlador) y Midlc.exe (el motor del compilador). Este error indica que el Midl.exe no puede iniciar Midlc.exe. Asegúrese de que Midlc.exe se encuentra en el mismo directorio que Midl.exe y de que son la misma versión.
El error puede deberse a la copia de Midl.exe pero no Midlx.exe desde la distribución más reciente. Ejecute midl o midlc en la línea de comandos sin ningún parámetro para ver el número de versión del ejecutable. |
-
MIDL2399
|
-
Comandos incorrectos del controlador
- A partir de la versión de Windows 2000 (MIDL versión 5.03.279), el compilador MIDL se implementa con dos archivos ejecutables: Midl.exe (el controlador) y Midlc.exe (el motor del compilador). Este error indica que el archivo temporal usado para pasar comandos de Midl.exe a Midlc.exe falta o está dañado. Asegúrese de que Midlc.exe se encuentra en el mismo directorio que Midl.exe y de que son la misma versión.
Es posible que el error se haya causado al intentar ejecutar Midlc.exe directamente o copiando Midl.exe pero no Midlc.exe desde la distribución más reciente. Ejecute midl o midlc en la línea de comandos sin ningún parámetro para ver el número de versión del ejecutable. |
-
MIDL2400
|
-
para la automatización ole, los parámetros opcionales deben ser VARIANT o VARIANT *
- Ole Automation requiere que todos los parámetros [opcionales] sean de tipo VARIANT o VARIANT*.
En la automatización OLE, el uso de parámetros que no son VARIANT puede provocar un error en la llamada en tiempo de ejecución o pasar datos no definidos para los parámetros [opcionales]. |
-
MIDL2401
|
-
[defaultvalue] se aplica a un valor distinto de VARIANT y [opcional]. Quite [opcional]
- El atributo [defaultvalue] implica [opcional]. El atributo [ opcional] no es necesario.
|
-
MIDL2402
|
-
[opcional] el atributo es inapplicable fuera de un bloque de biblioteca.
- La funcionalidad implícita por el atributo [ opcional] no es aplicable a los servidores proxy generados para una interfaz fuera de un bloque de biblioteca.
|
-
MIDL2403
|
-
El tipo de datos del parámetro [Icid] debe ser largo.
- Ole Automation requiere que los parámetros con el atributo [Icid] sean de tipo long.
|
-
MIDL2404
|
-
los procedimientos con [propput], [propget] o [propref] no pueden tener más de un parámetro necesario después de [opcional] uno
- No puede haber más de un parámetro sin [opcional] después del último parámetro con [opcional] al usar [propput], [propget] o [ propputref].
|
-
MIDL2405
|
-
[comm_status] o [fault_status] con el selector requiere -Oicf
- El modo de optimización -Oi anterior no admite procedimientos ni parámetros con [ comm_status] o [ fault_status] con el selector (es decir, mediante [ encode] o [ descodificación]).
Esta advertencia se puede suprimir globalmente especificando -Oicf en la línea de comandos MIDL o para una función individual agregando el atributo [optimize("icf:)] a la función en el archivo ACF. En general, se recomienda el modo de optimización -Oicf sobre el modo -Oi . |
-
MIDL2406
|
-
error de coincidencia entre el controlador midl y la versión del compilador
- A partir de la versión de Windows 2000 (MIDL versión 5.03.279), el compilador MIDL se implementa con dos archivos ejecutables: Midl.exe (el controlador) y Midlc.exe (el motor del compilador). Este error indica que la versión de Midl.exe no coincide con la versión de Midlc.exe.
El error puede deberse a la copia de Midl.exe pero no Midlc.exe desde la distribución más reciente. Ejecute midl o midlc en la línea de comandos sin ningún parámetro para ver el número de versión del ejecutable. |
-
MIDL2407
|
-
no se especificó ningún archivo intermedio: use Midl.exe
- A partir de la versión de Windows 2000 (MIDL versión 5.03.279), el compilador MIDL se implementa con dos archivos ejecutables: Midl.exe (el controlador) y Midlc.exe (el motor del compilador). Este error indica que Midlc.exe se ejecutó directamente en lugar de usar Midl.exe.
|
-
MIDL2408
|
-
problema de procesamiento con un parámetro en un procedimiento
- Este error se puede ver al importar datos de un TLB y cuando un procedimiento tiene un parámetro no válido.
Si ve este error, notifique un error a Microsoft. Especifique los archivos IDL, los archivos ACF, el archivo TLB y la línea de comandos MIDL completa. |
-
MIDL2409
|
-
problema de procesamiento con un campo en una estructura
- Este error se puede ver al importar datos de un TLB y cuando una estructura tiene un campo de unión o estructura no válidos.
Si ve este error, notifique un error a Microsoft. Especifique los archivos IDL, los archivos ACF, el archivo TLB y la línea de comandos MIDL completa. |
-
MIDL2410
|
-
incoherencia interna del compilador detectada: el desplazamiento de cadena de formato no es válido. Consulte la documentación para más información.
- El compilador MIDL detectó un valor no válido en sus estructuras de datos internas. Esto puede deberse a estructuras recursivas o que el compilador infringe sus propios límites de representación para los datos internos. Para identificar o solucionar el problema, intente simplificar el archivo IDL. Para ello, puede simplificar parámetros complejos y estructuras de datos recursivas o reducir el tamaño del archivo IDL dividiándolo. Este mensaje puede ir acompañado de una impresión de diagnóstico con información adicional sobre el problema.
Si ve este error, notifique un error a Microsoft. Especifique los archivos IDL, los archivos ACF, la línea de comandos MIDL completa y la salida de diagnóstico, si existe. |
-
MIDL2411
|
-
incoherencia interna del compilador detectada: el desplazamiento de tipos no es válido. Consulte la documentación para más información.
- El compilador MIDL detectó un valor no válido en sus estructuras de datos internas. Esto puede deberse a estructuras recursivas o que el compilador infringe sus propios límites de representación para los datos internos. Para identificar o solucionar el problema, intente simplificar el archivo IDL. Para ello, simplifique parámetros complejos y estructuras de datos recursivas o haga que el archivo IDL sea más pequeño dividiendolo. Este mensaje puede ir acompañado de una impresión de diagnóstico con información adicional sobre el problema.
Si ve este error, notifique un error a Microsoft. Especifique los archivos IDL, los archivos ACF, la línea de comandos MIDL completa y la salida de diagnóstico, si existe. |
-
MIDL2412
|
-
La sintaxis SAFEARRAY(roo) no se admite fuera del bloque de biblioteca, use LPSAFEARRAY para proxy.
- Los SAFEARRAY con tipo explícito no se permiten fuera de un bloque de biblioteca. Use LPSAFEARRAY en su lugar.
En el ejemplo siguiente se muestra este error:
void roo(SAFEARRAY(long) *a); //MIDL2412 when outside a library block
void roo(LPSAFEAEEAY a); //OK
|
-
MIDL2413
|
-
No se admiten campos de bits
- MIDL no admite campos de bits de estilo C. Esto se aplica a la generación de proxy, así como a la generación de TLB.
|
-
MIDL2414
|
-
los tipos de valor devueltos complejos o de punto flotante con [descodificación] no se admiten en -Oicf, mediante -OI.
- Los procedimientos con tipos de valor devuelto de punto flotante o estructura/unión no se admiten en el selector de estilo -Oicf. Una solución alternativa para 32 bits es usar el modo de optimización -Oi al serializar datos (mediante [codificar] o [descodificar]). Sin embargo, como el intérprete de estilo -Oi antiguo y la compatibilidad con el selector están programados para eliminarse por fases después de la versión de Windows 2000, se recomienda encarecidamente usar punteros como solución alternativa para este problema. Tenga en cuenta también que, normalmente, cambiar un método de interfaz para usar un puntero [out, ref] en lugar del valor devuelto que provoca el problema es totalmente compatible con versiones anteriores en la conexión y se puede ocultar fácilmente del nivel de aplicación.
Esta advertencia se puede suprimir globalmente especificando -Oi en la línea de comandos MIDL o para una función individual agregando el atributo [optimize("i")] a la función en el archivo ACF. En el ejemplo siguiente se muestra el problema: roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
Una opción para evitar esta limitación sería pasar un parámetro [out] para contener el resultado en lugar de usar un valor devuelto: roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer
roo.acf:
[decode] GetDouble();
Como se mencionó anteriormente, la solución descrita anteriormente es buena no solo para las nuevas interfaces, sino también como solución alternativa para las antiguas. La representación bancaria del nuevo argumento "out" es la misma que para el valor devuelto (observe void como el nuevo valor devuelto). |
-
MIDL2415
|
-
el tipo de valor devuelto no se admite para 64 bits cuando se usa [descodificar]
- Los procedimientos con tipos de valor devuelto de punto flotante o estructura/unión no se admiten en modo de 64 bits al realizar la serialización de datos (mediante [ codificación] o [ descodificación]). Esto está relacionado con el intérprete oi de estilo antiguo y el serializador de datos que no se admiten en la plataforma de 64 bits. Consulte la descripción de MIDL2414 para obtener más información.
En el ejemplo siguiente se muestra este error: roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
Se recomienda lo siguiente como solución alternativa para interfaces nuevas y antiguas. Use un parámetro [out] para contener el resultado en lugar de usar un valor devuelto: roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer.
roo.acf:
[decode] GetDouble();
Tenga en cuenta que esta solución es totalmente compatible con versiones anteriores en la conexión, ya que la representación de cable de un puntero [ref, out] o un doble es el mismo que el de un doble. |
-
MIDL2416
|
-
es posible que el tipo transmitido no contenga un puntero completo para [wire_marshal] o [user_marshal]
- Es posible que los tipos con los atributos [ wire_marshal] o [ user_marshal] no contengan punteros completos ([ ptr]). Use [ unique] o [ ref] en su lugar.
En el ejemplo siguiente se muestra este error:
typedef struct
{
[ptr] long *a; //Should use [ref] or [unique] instead
}
st1;
typedef [wire_marshal(st1)] struct
{
long a;
}
st2:
void roo(st2 *s); //MIDL2416
|
-
MIDL2417
|
-
el tipo transmitido debe ser un puntero o tener un tamaño constante para [wire_marshal] y [user_marshal]
- Los tipos de nivel superior con los atributos [ wire_marshal] o [ user_marshal] deben tener un tamaño bien definido en tiempo de compilación. No pueden ser ni contener matrices de tamaño variable o conformes.
En el ejemplo siguiente se muestra este error:
typedef struct //Type contains variable-sized array
{
long s;
[size_is(s)] char a[];
}
st1;
typedef [wire_marshal(st1)] struct
{
long a;
}
st2;
void roo(st2 *s); //MIDL2417
|
-
MIDL2418
|
-
los procedimientos con [propget] deben tener al menos un parámetro o un valor devuelto.
- Los procedimientos con el atributo [propget] deben tener algún medio para devolver el valor de la propiedad. Deben tener al menos un parámetro [out] o un valor devuelto.
|
-
MIDL2461
|
-
El atributo [readonly] se aplicó en el nivel de método.
- El atributo [readonly] solo se puede aplicar en el nivel de parámetro.
|
-
MIDL2465
|
-
Las estructuras que contienen matrices conformes deben pasarse por referencia
- Los parámetros de nivel superior de RPC deben tener un tamaño bien definido en tiempo de compilación. No pueden ser, ni contener matrices de tamaño variable o conformes. Además, los usuarios no pueden codificar o descodificar un tipo sin un tamaño bien definido. Las aplicaciones deben pasar struct o struct conforme variable variable por referencia.
En el ejemplo siguiente se muestra este error:
typedef struct //Type contains variable-sized array
{
long s;
[size_is(s)] char a[];
}
st1;
void roo(st1 s); //MIDL2465
on .acf file
typedef [encode,decode] st1; //MIDL2465
|
-
MIDL9008
|
-
código> de error interno del sistema del compilador<: el compilador no puede continuar por un motivo desconocido. Consulte la documentación de una solución alternativa.
- El compilador no pudo continuar y se desconoce la causa del error. El número de error hexadecimal es un identificador de error del sistema. Es posible que se haya producido un error en la compilación debido a un problema externo, como una condición de memoria insuficiente. En ese caso, puede encontrar más información en Winerror.h o Ntstatus.h.
Hay dos situaciones que suelen generar este error:
- El compilador MIDL no se pudo recuperar después de detectar un error en el archivo IDL. Si MIDL devolvió algún mensaje de error sobre el archivo IDL, intente corregirlos y volver a compilar. Si no hay ningún mensaje de error, es posible que el compilador haya producido un error antes de que pueda notificar un error. Busque un error de sintaxis en la línea para la que se notifica el error interno del compilador.
- El compilador MIDL no pudo generar código correcto en una opción de optimización especificada. Intente cambiar los modos del compilador, compilar en optimización en modo mixto (/Os) o quitar todas las optimizaciones. O bien, vuelva a compilar con la marca /NO_FORMAT_OPT para suprimir la optimización predeterminada de MIDL de descriptores de procedimiento y tipo.
En ocasiones, este error se produce incluso cuando el archivo IDL es correcto y no se usan opciones de optimización. Si este es el caso, intente volver a escribir la sección de código en las proximidades de donde se notificó el error quitando las modificaciones recientes, simplificando o reorganizando tipos de datos, cambiando prototipos o, de lo contrario, comienzan a comentar partes del archivo IDL para localizar el código del problema. Si ninguna de estas opciones funciona o cree que el problema puede estar relacionado con un error en Midl.exe, notifique a Microsoft y proporcione todos los detalles pertinentes. |