EnumPrinterDrivers-Funktion

Die EnumPrinterDrivers-Funktion listet die druckertreiber auf, die auf einem angegebenen Druckerserver installiert sind.

Syntax

BOOL EnumPrinterDrivers(
  _In_  LPTSTR  pName,
  _In_  LPTSTR  pEnvironment,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pDriverInfo,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parameter

pName [ In]

Ein Zeiger auf eine auf NULL endende Zeichenfolge, die den Namen des Servers angibt, auf dem die Druckertreiber aufzählt werden.

Wenn pName NULL ist, listet die Funktion die lokalen Druckertreiber auf.

pEnvironment [ In]

Ein Zeiger auf eine auf NULL endende Zeichenfolge, die die Umgebung angibt (z. B. Windows x86, Windows IA64, Windows x64 oder Windows NT R4000). Wenn dieser Parameter NULL ist, verwendet die Funktion die aktuelle Umgebung des Aufrufers/Clients (nicht des Ziels/Servers).

Wenn die pEnvironment-Zeichenfolge "all" angibt, listet EnumPrinterDrivers Druckertreiber für alle auf dem angegebenen Server installierten Plattformen auf.

Ebene [ In]

Der Im pDriverInfo-Puffer zurückgegebene Informationsstrukturtyp. Dies kann einer der folgenden Sein:

Wert Bedeutung
1
TREIBERINFORMATIONEN _ _ 1
2
TREIBERINFORMATIONEN _ _ 2
3
TREIBERINFORMATIONEN _ _ 3
4
TREIBERINFORMATIONEN _ _ 4
5
TREIBERINFORMATIONEN _ _ 5
6
TREIBERINFORMATIONEN _ _ 6
8
TREIBERINFORMATIONEN _ _ 8

pDriverInfo [ out]

Ein Zeiger auf einen Puffer, der ein Array von DRIVER _ INFO-Strukturen _ * empfängt, wie durch Ebene angegeben. Jede Struktur enthält Daten, die einen verfügbaren Druckertreiber beschreiben. Der Puffer muss groß genug sein, um das Array von Strukturen und alle Zeichenfolgen oder anderen Daten zu empfangen, auf die die Strukturmember zeigen.

Um die erforderliche Puffergröße zu bestimmen, rufen Sie EnumPrinterDrivers auf, wobei cbBuf auf 0 (null) festgelegt ist. EnumPrinterDrivers schlägt fehl, GetLastError gibt ERROR _ INSUFFICIENT BUFFER _ zurück, und der parameter pwNeeded gibt die Größe des Puffers in Bytes zurück, der zum Speichern des Arrays von Strukturen und deren Daten erforderlich ist.

cbBuf [ In]

Die Größe des Puffers in Bytes, auf den pDriverInfo zeigt

"Needed" [ out]

Ein Zeiger auf eine Variable, die die Anzahl der in den pDriverInfo-Puffer kopierten Bytes empfängt, wenn die Funktion erfolgreich ist. Wenn der Puffer zu klein ist, schlägt die Funktion fehl, und die Variable empfängt die erforderliche Anzahl von Bytes.

pcReturned [ out]

Ein Zeiger auf eine Variable, die die Anzahl der im pDriverInfo-Puffer zurückgegebenen Strukturen empfängt. Dies ist die Anzahl der Druckertreiber, die auf dem angegebenen Druckerserver installiert sind.

Rückgabewert

Wenn die Funktion erfolgreich ausgeführt wird, ist der Rückgabewert ein Wert ungleich 0 (null).

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

Hinweise

Hinweis

Dies ist eine blockierende oder synchrone Funktion und wird möglicherweise nicht sofort zurückgegeben. Wie schnell diese Funktion zurückgegeben wird, hängt von Laufzeitfaktoren wie Netzwerkstatus, Druckerserverkonfiguration und Implementierungsfaktoren für Druckertreiber ab, die beim Schreiben einer Anwendung schwer vorherzusagen sind. Das Aufrufen dieser Funktion über einen Thread, der die Interaktion mit der Benutzeroberfläche verwaltet, kann dazu bringen, dass die Anwendung scheinbar nicht reagiert.

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 (include Windows.h)
Bibliothek
Winspool.lib
DLL
Winspool.drv
Unicode- und ANSI-Name
EnumPrinterDriversW (Unicode) und EnumPrinterDriversA (ANSI)

Weitere Informationen

Drucken

Druckspooler-API-Funktionen

AddPrinterDriver

TREIBERINFORMATIONEN _ _ 1

TREIBERINFORMATIONEN _ _ 2

TREIBERINFORMATIONEN _ _ 3

TREIBERINFORMATIONEN _ _ 4

TREIBERINFORMATIONEN _ _ 5

TREIBERINFORMATIONEN _ _ 6

GetPrinterDriver