Freigeben über


Verwenden von CPSUI mit Druckertreibern

Wichtig

Es wird empfohlen, den IPP-Posteingangsklassentreiber von Microsoft zusammen mit Druckunterstützungs-Apps (PSA) zu verwenden, um die Druckoberfläche in Windows 10 und 11 für die Druckergeräteentwicklung anzupassen.

Weitere Informationen finden Sie im Designhandbuch für Druckunterstützungs-Apps.

Der Druckspooler verwendet in Verbindung mit Druckerschnittstellen-DLLs CPSUI, um Eigenschaftenblattseiten für Druckdokumente und Druckergeräte zu erstellen. Die folgenden Schritte sind erforderlich, wenn eine Anwendung (z. B. Microsoft Word) ein Eigenschaftenblatt für ein Druckdokument anzeigt:

  1. Die Anwendung ruft die DocumentProperties-Funktion des Druckspoolers auf und gibt den Drucker an, auf dem das Dokument gedruckt werden soll.

  2. Der Druckspooler ruft die Einstiegspunktfunktion CommonPropertySheetUI von CPSUI auf und gibt eine interne Rückruffunktion vom Typ PFNPROPSHEETUI an.

  3. CPSUI ruft die PFNPROPSHEETUI-typisierte Rückruffunktion des Spoolers auf.

  4. Die PFNPROPSHEETUI-typisierte Rückruffunktion des Spoolers ruft die ComPropSheet-Funktion von CPSUI (mit einem CPSFUNC_ADD_PFNPROPSHEETUI Funktionscode) auf, um CPSUI über die Adresse der DrvDocumentPropertySheets-Funktion der entsprechenden Druckerschnittstellen-DLL zu benachrichtigen.

  5. CPSUI ruft die DrvDocumentPropertySheets-Funktion der Druckerschnittstellen-DLL auf .

  6. Die DrvDocumentPropertySheets-Funktion der Druckerschnittstellen-DLL ruft die ComPropSheet-Funktion von CPSUI auf (in der Regel mit einem CPSFUNC_ADD_PCOMPROPSHEETUI Funktionscode), um CPSUI mit Eigenschaftenblattseitenbeschreibungen und Seitenereignisrückrufen bereitzustellen.

  7. Die ComPropSheet-Funktion von CPSUI ruft CreatePropertySheetPage auf (in der Windows SDK-Dokumentation beschrieben), um die Eigenschaftenblattseiten zu erstellen, die von der DLL für die Druckerschnittstelle angegeben werden. CPSUI ruft dann PropertySheet auf, um die Eigenschaftenblattseiten anzuzeigen.

Das folgende Diagramm veranschaulicht diese Schritte.

Diagramm, das die Module veranschaulicht, die an der Anzeige eines Eigenschaftenblatts beteiligt sind.

Während der Anwendungsbenutzer die Eigenschaftenblattseiten durchläuft und Optionswerte ändert, benachrichtigt das Betriebssystem CPSUI über Seitenereignisse und CPSUI ruft wiederum den von der DLL für die Druckerschnittstelle bereitgestellten Seitenereignisrückruf auf. Der Seitenereignisrückruf verarbeitet Seitenereignisse und speichert neu ausgewählte Optionswerte nach Bedarf intern.

Wenn der Benutzer das Eigenschaftenblatt durch Klicken auf die Schaltfläche Ok oder Abbrechen schließt, zerstört CPSUI die Seiten und bewirkt, dass die CommonPropertySheetUI-Funktion zum Druckspooler zurückkehrt, wodurch die Steuerung an die Anwendung zurückgegeben wird.

Wenn eine Anwendung ein Eigenschaftenblatt für ein Druckergerät anstelle eines Druckdokuments anzeigt, werden die gleichen Schritte ausgeführt, mit dem Ausnahme, dass die Anwendung die PrinterProperties-Funktion des Spoolers aufruft und der Spooler die Adresse der DrvDevicePropertySheets-Funktion der Druckerschnittstellen-DLL an CPSUI übergibt.