Necesito ayuda con Trabajos de Impresión...
Hola, les transmito el problema en el que me encuentro, y si alguien está interesado me escribe un mensaje y le enviaré un proyecto Visual Basic 6 en el que estoy trabajando y donde encontré la dificultad, a ver si podemos entre todos encontrar la falla.
Problema :
Estoy desarrollando un programa para poder obtener toda la información posible de un trabajo que ingresa a la cola de impresión de una determinada impresora.
Para realizar este programa me basé en la información distribuida sobre los servicios de la biblioteca contenida en el archivo WINSPOOL.DRV
Especialmente a través del uso de las API : EnumbJobsA y GetJob ambas retornan información sobre los trabajos de impresión, pero mientras EnumJobsA devuelve un paquete con información para cada uno de los trabajos de una impresora dada, la función GetJob devuelve un paquete con información solamente del trabajo de impresión pedido (JobId) de la impresora dada.
La información devuelta por estas dos funciones, puede ser seleccionada mediante uno de sus parámetros, específicamente el parámetro Level, para esta aplicación en especial solicito información de nivel 2, es decir que espero recibir el paquete con el formato JOB_INFO_2, y entre los componentes de esta estructura se encuentra un puntero a otra estructura de datos con el formato DEVMODE.
Es en esta última estructura en donde se encuentra la información que necesito, es decir, si el trabajo de impresión se realiza con color o negro, si el trabajo es en calidad borrador o superior, la cantidad de puntos por pulgadas de cobertura, etc.
Aquí el problema porque algunos de los datos de la estructura JOB_INFO_2 devuelta tienen información correcta (ej. Nombre de la impresora, Nombre del documento, Nombre del Usuario o Máquina, etc.), pero algunos otros elementos, inexplicablemente, no traen información correcta.
Entre los elementos que no devuelven datos ninguno, está el puntero a la estructura DEVMODE, y sin la información de este dato no se puede acceder a los demás datos antes mencionados de esta estructura y por lo tanto no tengo otra manera de obtenerlos.
Pregunta:
¿Existe otra manera de obtener esta información del trabajo de impresión, y si no es así, cuál puede ser el motivo por lo que estas funciones del WINSPOOL.DRV no responden como la documentación lo define?
*************************************************************************
Desde ya muy agradecido por toda información que puedan aportarme para solucionar este problema.
**************************************************************************
Problema :
Estoy desarrollando un programa para poder obtener toda la información posible de un trabajo que ingresa a la cola de impresión de una determinada impresora.
Para realizar este programa me basé en la información distribuida sobre los servicios de la biblioteca contenida en el archivo WINSPOOL.DRV
Especialmente a través del uso de las API : EnumbJobsA y GetJob ambas retornan información sobre los trabajos de impresión, pero mientras EnumJobsA devuelve un paquete con información para cada uno de los trabajos de una impresora dada, la función GetJob devuelve un paquete con información solamente del trabajo de impresión pedido (JobId) de la impresora dada.
La información devuelta por estas dos funciones, puede ser seleccionada mediante uno de sus parámetros, específicamente el parámetro Level, para esta aplicación en especial solicito información de nivel 2, es decir que espero recibir el paquete con el formato JOB_INFO_2, y entre los componentes de esta estructura se encuentra un puntero a otra estructura de datos con el formato DEVMODE.
Es en esta última estructura en donde se encuentra la información que necesito, es decir, si el trabajo de impresión se realiza con color o negro, si el trabajo es en calidad borrador o superior, la cantidad de puntos por pulgadas de cobertura, etc.
Aquí el problema porque algunos de los datos de la estructura JOB_INFO_2 devuelta tienen información correcta (ej. Nombre de la impresora, Nombre del documento, Nombre del Usuario o Máquina, etc.), pero algunos otros elementos, inexplicablemente, no traen información correcta.
Entre los elementos que no devuelven datos ninguno, está el puntero a la estructura DEVMODE, y sin la información de este dato no se puede acceder a los demás datos antes mencionados de esta estructura y por lo tanto no tengo otra manera de obtenerlos.
Pregunta:
¿Existe otra manera de obtener esta información del trabajo de impresión, y si no es así, cuál puede ser el motivo por lo que estas funciones del WINSPOOL.DRV no responden como la documentación lo define?
*************************************************************************
Desde ya muy agradecido por toda información que puedan aportarme para solucionar este problema.
**************************************************************************
