AddPrinterDriver-Funktion

Die AddPrinterDriver-Funktion installiert einen lokalen oder Remotedruckertreiber und verknüpft die Konfigurations-, Daten- und Treiberdateien.

Für mehr Flexibilität beim Installieren oder Aktualisieren von Druckertreibern verwenden Sie die AddPrinterDriverEx-Funktion , da sie ein striktes Upgrade, ein striktes Downgrade, nur das Kopieren neuerer Dateien und das Kopieren aller Dateien (unabhängig von den Dateizeitstempeln) ermöglicht.

Hinweis

Die Installation eines Druckertreibers ohne Treiberpaket wird nicht mehr empfohlen. Verwenden Sie stattdessen InstallPrinterDriverFromPackage .

Syntax

BOOL AddPrinterDriver(
  _In_ LPTSTR pName,
  _In_ DWORD  Level,
  _In_ LPBYTE pDriverInfo
);

Parameter

pName [in]

Ein Zeiger auf eine NULL-Zeichenfolge, die den Namen des Servers angibt, auf dem der Treiber installiert werden soll.

Wenn pNameNULL ist, wird der Treiber lokal installiert.

Ebene [in]

Die Version der Struktur, auf die pDriverInfo verweist.

Dieser Wert kann 2, 3, 4, 6 oder 8 sein.

pDriverInfo [in]

Ein Zeiger auf eine Struktur, die Druckertreiberinformationen enthält. Dies hängt vom Wert von Level ab.

Wert Druckerlaufwerkstruktur
2 DRIVER_INFO_2
3 DRIVER_INFO_3
4 DRIVER_INFO_4
6 DRIVER_INFO_6
8 DRIVER_INFO_8

Wenn das pEnvironment-Element der Struktur, auf die pDriverInfo verweist, NULL ist, wird die aktuelle Umgebung des Aufrufers/Clients (nicht des Ziels/Servers) verwendet.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Nichtzero-Wert.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

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.

Der Aufrufer muss über das SeLoadDriverPrivilege verfügen.

Bevor eine Anwendung die Funktion AddPrinterDriver aufruft, müssen alle vom Treiber benötigten Dateien in das Systemverzeichnis printer-driver kopiert werden. Eine Anwendung kann den Namen dieses Verzeichnisses abrufen, indem sie die GetPrinterDriverDirectory-Funktion aufruft.

Eine Anwendung kann ermitteln, welche Druckertreiber derzeit installiert sind, indem sie die Funktion EnumPrinterDrivers aufruft .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Winspool.h (einschließlich Windows.h)
Bibliothek
Winspool.lib
DLL
Winspool.drv
Unicode- und ANSI-Name
AddPrinterDriverW (Unicode) und AddPrinterDriverA (ANSI)

Siehe auch

Drucken

Druckspooler-API-Funktionen

AddPrinterDriverEx

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_6

EnumPrinterDriver

GetPrinterDriverDirectory