SetPrinterData-Funktion
Die SetPrinterData-Funktion legt die Konfigurationsdaten für einen Drucker oder Druckserver fest.
Um den Registrierungsschlüssel anzugeben, unter dem die Daten gespeichert werden sollen, rufen Sie die SetPrinterDataEx-Funktion auf. Das Aufrufen von SetPrinterData entspricht dem Aufrufen der SetPrinterDataEx-Funktion , wobei der pKeyName-Parameter auf "PrinterDriverData" festgelegt ist.
Syntax
DWORD SetPrinterData(
_In_ HANDLE hPrinter,
_In_ LPTSTR pValueName,
_In_ DWORD Type,
_In_ LPBYTE pData,
_In_ DWORD cbData
);
Parameter
-
hPrinter [in]
-
Ein Handle für den Drucker oder Druckserver, für den die Funktion Konfigurationsdaten festlegt. Verwenden Sie die Funktion OpenPrinter, OpenPrinter2 oder AddPrinter , um einen Druckerhandle abzurufen.
-
pValueName [in]
-
Ein Zeiger auf eine NULL-Zeichenfolge, die die festzulegenden Daten identifiziert.
Bei Druckern ist diese Zeichenfolge der Name eines Registrierungswerts unter dem Druckerschlüssel "PrinterDriverData" in der Registrierung.
Für Druckserver ist diese Zeichenfolge eine der vordefinierten Zeichenfolgen, die im folgenden Abschnitt Hinweise aufgeführt sind.
-
Geben Sie [in] ein.
-
Ein Code, der den Datentyp angibt, auf den der pData-Parameter verweist. Eine Liste der möglichen Typcodes finden Sie unter Registrierungswerttypen.
-
pData [in]
-
Ein Zeiger auf ein Bytearray, das die Druckerkonfigurationsdaten enthält.
-
cbData [in]
-
Die Größe des Arrays in Bytes.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Fehlerwert.
Bemerkungen
Hinweis
Dies ist eine blockierende oder synchrone Funktion und wird möglicherweise nicht sofort zurückgegeben. Wie schnell diese Funktion zurückgibt, hängt von Laufzeitfaktoren wie Netzwerk-status, Druckserverkonfiguration und Druckertreiberimplementierungsfaktoren ab, die beim Schreiben einer Anwendung schwer vorherzusagen sind. Wenn Sie diese Funktion über einen Thread aufrufen, der die Interaktion mit der Benutzeroberfläche verwaltet, kann die Anwendung nicht reagieren.
Um vorhandene Konfigurationsdaten für einen Drucker abzurufen, rufen Sie die Funktion GetPrinterDataEx oder GetPrinterData auf.
Wenn hPrinter ein Handle für einen Druckserver ist, kann pValueName einen der folgenden vordefinierten Werte angeben.
Wert | Kommentare |
---|---|
SPLREG_ALLOW_USER_MANAGEFORMS | Windows XP mit Service Pack 2 (SP2) und höher Windows Server 2003 mit Service Pack 1 (SP1) und höher |
SPLREG_BEEP_ENABLED | |
SPLREG_DEFAULT_SPOOL_DIRECTORY | |
SPLREG_EVENT_LOG | |
SPLREG_NET_POPUP | In Windows Server 2003 und höher nicht unterstützt |
SPLREG_PORT_THREAD_PRIORITY_DEFAULT | |
SPLREG_PORT_THREAD_PRIORITY | |
SPLREG_PRINT_DRIVER_ISOLATION_GROUPS | Windows 7 und höher |
SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLE | Windows 7 und höher |
SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLE | Windows 7 und höher |
SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUT | Windows 7 und höher |
SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICY | Windows 7 und höher |
SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICY | Windows 7 und höher |
SPLREG_RETRY_POPUP | Bei erfolgreicher Rückgabe enthält pData 1, wenn der Server auf Wiederholungsfenster für alle Aufträge festgelegt ist, oder 0, wenn der Server popupfenster für alle Aufträge nicht wiederholt. In Windows Server 2003 und höher nicht unterstützt |
SPLREG_SCHEDULER_THREAD_PRIORITY | |
SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT | |
SPLREG_WEBSHAREMGMT | Windows Server 2003 und höher |
Die folgenden Werte von pValueName bestimmen das Druckverhalten des Pools, wenn ein Fehler auftritt.
Wert | Kommentare |
---|---|
SPLREG_RESTART_JOB_ON_POOL_ERROR | Der Wert von pData gibt die Zeit in Sekunden an, zu der ein Auftrag an einem anderen Port neu gestartet wird, nachdem ein Fehler aufgetreten ist. Diese Einstellung wird mit SPLREG_RESTART_JOB_ON_POOL_ENABLED verwendet. |
SPLREG_RESTART_JOB_ON_POOL_ENABLED | Ein wert nonzero in pData gibt an, dass SPLREG_RESTART_JOB_ON_POOL_ERROR aktiviert ist. |
Die in SPLREG_RESTART_JOB_ON_POOL_ERROR angegebene Zeit ist eine Mindestzeit. Die tatsächliche Zeit kann länger sein, abhängig von den folgenden Portüberwachungseinstellungen, bei denen es sich um Registrierungswerte unter diesem Registrierungsschlüssel handelt:
HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\<MonitorName>\Ports
Rufen Sie die RegSetValueEx-Funktion auf, um diese Werte festzulegen.
Portmonitoreinstellung | Datentyp | Bedeutung |
---|---|---|
StatusUpdateEnabled | REG_DWORD | Wenn ein wert ungleicher Wert ist, kann der Portmonitor den Spooler mit dem Port status aktualisieren. |
StatusUpdateInterval | REG_DWORD | Gibt das Intervall in Minuten an, wenn der Portmonitor den Spooler mit dem Port status aktualisiert. |
In Windows 7 und höheren Versionen von Windows werden Druckaufträge, die an einen Druckserver gesendet werden, standardmäßig auf dem Client gerendert. Das clientseitige Rendering eines Druckauftrags kann für jeden Drucker konfiguriert werden, indem die folgenden Werte in pValueName festgelegt werden.
Einstellung | Datentyp | BESCHREIBUNG |
---|---|---|
EMFDespoolingSetting | REG_DWORD | Der Wert 0 oder, wenn dieser Wert nicht in der Registrierung vorhanden ist, aktiviert das clientseitige Standardrendering von Druckaufträgen. Der Wert 1 deaktiviert das clientseitige Rendering von Druckaufträgen. |
ForceClientSideRendering | REG_DWORD | Der Wert 0 oder, wenn dieser Wert nicht in der Registrierung vorhanden ist, bewirkt, dass die Druckaufträge auf dem Client gerendert werden. Wenn ein Druckauftrag nicht auf dem Client gerendert werden kann, wird er auf dem Server gerendert. Wenn ein Druckauftrag nicht auf dem Server gerendert werden kann, tritt ein Fehler auf. Der Wert 1 rendert Druckaufträge auf dem Client. Wenn ein Druckauftrag nicht auf dem Client gerendert werden kann, tritt ein Fehler auf. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|
Unicode- und ANSI-Name |
SetPrinterDataW (Unicode) und SetPrinterDataA (ANSI) |