es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Necesito usar ReadConsoleOutputCharacter, pero no está prototipado en Smallwin.inc?

Estoy escribiendo un programa de ensamblaje de 32 bits con MASM y la biblioteca Irvine32, y estoy tratando de guardar el contenido actualmente escrito en la ventana de la consola en un búfer. Según mi investigación sobre el tema, (y por favor corríjame si me equivoco), necesito la función API de Win32 ReadConsoleOutputCharacter para esto. Sin embargo, al invocarla, me dicen que el símbolo es indefinido. En el mismo programa, al invocar otra función como WriteConsole funciona.

Para investigar, revisé el archivo Smallwin.inc que viene con la biblioteca Irvine, y por alguna razón, la función no está prototipada allí. Es extraño porque la función está listada en la Tabla 11-2 del libro, el libro dice explícitamente que todas las funciones de Win32 son compatibles con la biblioteca Irvine, ¡e incluso Smallwin.inc prototipó la contraparte de escritura de esta misma función! No puedo encontrar una respuesta sobre por qué la función no está incluida. ¿Alguien podría ayudarme a descubrir cómo puedo usar esta función, tal vez agregando el prototipo correspondiente a Smallwin.inc o incluyendo algo más dentro de la biblioteca Irvine?

Estoy programando en Visual Studio Community 2019, utilizando la biblioteca Irvine32. Si hay algo más que deba agregar a mi pregunta, por favor avísenme.
¡Gracias de antemano!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que la función ReadConsoleOutputCharacter no está prototipada en el archivo Smallwin.inc que viene con la biblioteca Irvine32, lo que causa un error de símbolo no definido. Sin embargo, la función está listada en el libro y se supone que la biblioteca admite todas las funciones de Win32.

    Una solución podría ser agregar el prototipo correspondiente a Smallwin.inc manualmente, basándose en la documentación de la API de Win32 de la función. Otra opción podría ser verificar si hay otros archivos de encabezado incluidos en la biblioteca Irvine32 que definan el prototipo de la función.

    También puede valer la pena verificar si hay actualizaciones o parches disponibles para la biblioteca que puedan incluir el prototipo de función faltante.

    Si ninguna de estas soluciones funciona, podría ser necesario buscar ayuda adicional del equipo de soporte de la biblioteca Irvine32 o de comunidades en línea.

Comments are closed.