none
Fehlerbenachrichtigung wenn Drucker ein Problem hat

    Frage

  • Es gibt ja immer eine schöne Fehlermeldung, wenn der Drucker nicht drucken kann. Papier alle zum Beispiel.

    Ich habe jetzt einen Druckertreiber selbst geschrieben (nach dem OEM Printer Customization Plug-In-Sample der WDK). Ich komme nun im DruckMonitor an eine Stelle wo ich merke das Fuktioniert nicht so. Es sind falsche Einstellungen, das Netzwerk ist tot oder oder oder. Ich möchte also den Anwender informieren, das sein DruckJob leider nicht funktioniert hat.

    Ich stecke im BOOL WINAPI LcmEndDocPort( __in HANDLE hPort ) und habe die PINIPORT - Struktur zur Verfügung. Damit ja auch die JobId. Mit der hole ich mir die PJOB_INFO_1 Struktur und fülle dort den Parameter Status mit JOB_STATUS_ERROR und den Parameter pStatus mit meiner Fehlermeldung. Diese Struktur setzte ich dann wieder mit SetJob. Damit bekomme ich schon mal wenigsten in der Druckerwarteschlangenansicht  den Status: Fehler - Wird gedruckt. Aber wenn der Anwender da nicht hinschaut denkt er alles sei in Ordnung. Bei LcmEndDocPort bin ich ja in der spoolsrv.exe und im Kernel Bereich. Dort ist MessgeBox() ganz ungünstig.

    Welche Möglichkeiten habe ich, denn das von Windows wahrscheinlich vorbereitete Fehlerfenster zu nutzen? Ich habe nicht in der WDK Dokumentation gefunden und auch Google und MSDN konnten mir nicht helfen.

    Donnerstag, 27. Juni 2013 14:03

Alle Antworten