EnumPrinterDataEx-Funktion

Die EnumPrinterDataEx-Funktion listet alle Wertnamen und Daten für einen angegebenen Drucker und Schlüssel auf.

Druckerdaten werden in der Registrierung gespeichert. Rufen Sie beim Aufzählen von Druckerdaten keine Registrierungsfunktionen auf, die die Daten möglicherweise ändern.

Syntax

DWORD EnumPrinterDataEx(
  _In_  HANDLE  hPrinter,
  _In_  LPCTSTR pKeyName,
  _Out_ LPBYTE  pEnumValues,
  _In_  DWORD   cbEnumValues,
  _Out_ LPDWORD pcbEnumValues,
  _Out_ LPDWORD pnEnumValues
);

Parameter

hPrinter [ In]

Ein Handle für den Drucker, für den die Funktion Konfigurationsdaten abruft. Verwenden Sie die OpenPrinter- oder AddPrinter-Funktion, um ein Druckerhandle abzurufen.

pKeyName [ In]

Ein Zeiger auf eine auf NULL endende Zeichenfolge, die den Schlüssel angibt, der die aufzuzählenden Werte enthält. Verwenden Sie den umgekehrten Schrägstrich \ () als Trennzeichen, um einen Pfad mit einem oder mehreren Unterschlüsseln anzugeben. EnumPrinterDataEx listet alle Werte des Schlüssels auf, zählt jedoch keine Werte von Unterschlüsseln des angegebenen Schlüssels auf. Verwenden Sie die EnumPrinterKey-Funktion, um Unterschlüssel aufzuzählen.

Wenn pKeyName NULL oder eine leere Zeichenfolge ist, gibt EnumPrinterDataEx ERROR _ INVALID PARAMETER _ zurück.

pEnumValues [ out]

Ein Zeiger auf einen Puffer, der ein Array von PRINTER _ ENUM _ VALUES-Strukturen empfängt. Jede Struktur enthält den Wertnamen, den Typ, die Daten und die Größen eines Werts unter dem Schlüssel.

cbEnumValues [ In]

Die Größe des Puffers in Bytes, auf den von "pwEnumValues" verwiesen wird. Wenn Sie cbEnumValues auf 0 (null) festlegen, gibt der parameter pwEnumValues die erforderliche Puffergröße zurück.

pwEnumValues [ out]

Ein Zeiger auf eine Variable, die die Größe der abgerufenen Konfigurationsdaten in Bytes empfängt. Wenn die von cbEnumValues angegebene Puffergröße zu klein ist, gibt die Funktion ERROR _ MORE _ DATA zurück, und "pwEnumValues" gibt die erforderliche Puffergröße an.

pnEnumValues [ out]

Ein Zeiger auf eine Variable, die die Anzahl der in pEnumValues zurückgegebenen PRINTER _ ENUM _ VALUES-Strukturen empfängt.

Rückgabewert

Wenn die Funktion erfolgreich ausgeführt wird, lautet der Rückgabewert ERROR _ SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode.

Bemerkungen

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.

EnumPrinterDataEx ruft das Druckerkonfigurationsdataset von den Funktionen SetPrinterDataEx und SetPrinterData ab.

Requirements (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
EnumPrinterDataExW (Unicode) und EnumPrinterDataExA (ANSI)

Weitere Informationen

Drucken

Druckspooler-API-Funktionen

DeletePrinterDataEx

EnumPrinterKey

GetPrinterDataEx

OpenPrinter

_ _ DRUCKERENUMERWERTE

SetPrinterData

SetPrinterDataEx