DevQueryPrintEx-Funktion (winddiui.h)

Die DevQueryPrintEx-Funktion einer Druckerschnittstelle bestimmt, ob ein angegebener Druckauftrag mit der aktuellen Konfiguration des Druckers kompatibel ist und daher gedruckt werden kann.

Syntax

BOOL DevQueryPrintEx(
  [in, out] PDEVQUERYPRINT_INFO pDQPInfo
);

Parameter

[in, out] pDQPInfo

Aufrufer-bereitgestellter Zeiger auf eine DEVQUERYPRINT_INFO Struktur.

Rückgabewert

Wenn der Druckauftrag gedruckt werden kann, sollte die Funktion WAHR zurückgeben; andernfalls sollte "FALSE" zurückgegeben werden.

Bemerkungen

Druckerschnittstellen-DLLs müssen eine DevQueryPrintEx-Funktion definieren. Die Funktion wird vom Druckspooler aufgerufen, wenn die Option "Falsch übereinstimmende Dokumente halten " auf der Seite "Erweitert " des Eigenschaftenblatts des Druckers aktiviert ist. Wenn die Funktion TRUE zurückgibt, wird der Druckauftrag vom Spooler für den Druck in die Warteschlange gestellt. Andernfalls wird der Auftrag gehalten, unter der Annahme, dass der Drucker schließlich neu konfiguriert wird, damit der Auftrag gedruckt werden kann.

Die empfangene DEVQUERYPRINT_INFO Struktur verweist auf eine DEVMODEW-Struktur , die die vom Druckauftrag benötigten Druckereigenschaften beschreibt. Die DevQueryPrintEx-Funktion sollte zuerst überprüfen, ob die Größe und Versionsmitglieder der empfangenen DEVMODEW-Struktur mit dem Treiber kompatibel sind. Anschließend sollte ermittelt werden, ob der angegebene DEVMODEW-Inhalt mit der aktuellen Druckerkonfiguration kompatibel ist.

Wenn der Auftrag gedruckt werden kann, sollte die Funktion einfach TRUE zurückgeben. Sollte der Auftrag bis später gehalten werden, sollte die Funktion FALSE zurückgeben, nachdem eine anzeigebare Textzeichenfolge (im Puffer durch das pszErrorStr-Element der DEVQUERYPRINT_INFO Struktur) angegeben wurde, der den Grund beschreibt, warum der Auftrag nicht gedruckt werden kann.

Anzeigebare Textzeichenfolgen sollten als Zeichenfolgenressourcen in einer Ressourcendatei definiert werden.

Requirements (Anforderungen)

   
Zielplattform Desktop
Header winddiui.h (einschließlich Winddiui.h)
Bibliothek Winspool.lib
DLL WinSpool.drv