Freigeben über


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 einen Druckerhandle abzurufen.

pKeyName [in]

Ein Zeiger auf eine NULL-endende Zeichenfolge, die den Schlüssel angibt, der die zu enumerierenden 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, listet jedoch keine Werte von Unterschlüsseln des angegebenen Schlüssels auf. Verwenden Sie die EnumPrinterKey-Funktion , um Unterschlüssel aufzulisten.

Wenn pKeyNameNULL 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 pcbEnumValues verwiesen wird. Wenn Sie cbEnumValues auf null festlegen, gibt der parameter pcbEnumValues die erforderliche Puffergröße zurück.

pcbEnumValues [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 pcbEnumValues gibt die erforderliche Puffergröße an.

pnEnumValues [out]

Ein Zeiger auf eine Variable, die die Anzahl der inpEnumValues zurückgegebenen PRINTER_ENUM_VALUES-Strukturen empfängt.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird 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, die möglicherweise nicht sofort zurückgegeben wird. 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. Das Aufrufen dieser Funktion aus einem Thread, der die Interaktion mit der Benutzeroberfläche verwaltet, könnte dazu führen, dass die Anwendung nicht mehr reagiert.

EnumPrinterDataEx ruft druckerkonfigurationsdatensatz von den Funktionen SetPrinterDataEx und SetPrinterData ab.

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ßen von Windows.h)
Bibliothek
Winspool.lib
DLL
Winspool.drv
Unicode- und ANSI-Name
EnumPrinterDataExW (Unicode) und EnumPrinterDataExA (ANSI)

Siehe auch

Drucken

Druckspooler-API-Funktionen

DeletePrinterDataEx

EnumPrinterKey

GetPrinterDataEx

OpenPrinter

PRINTER_ENUM_VALUES

SetPrinterData

SetPrinterDataEx