Freigeben über


EnumPrinterKey-Funktion

Die EnumPrinterKey-Funktion listet die Unterschlüssel eines angegebenen Schlüssels für einen angegebenen Drucker auf.

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

Syntax

DWORD EnumPrinterKey(
  _In_  HANDLE  hPrinter,
  _In_  LPCTSTR pKeyName,
  _Out_ LPTSTR  pSubkey,
  _In_  DWORD   cbSubkey,
  _Out_ LPDWORD pcbSubkey
);

Parameter

hPrinter [in]

Ein Handle für den Drucker, für den die Funktion Unterschlüssel aufzählt. Verwenden Sie die OpenPrinter - oder AddPrinter-Funktion , um einen Druckerhandle abzurufen.

pKeyName [in]

Ein Zeiger auf eine NULL-Zeichenfolge, die den Schlüssel angibt, der die aufzuzählenden Unterschlüssel enthält. Verwenden Sie den umgekehrten Schrägstrich "\" als Trennzeichen, um einen Pfad mit mindestens einem Unterschlüssel anzugeben. EnumPrinterKey listet alle Unterschlüssel des Schlüssels auf, listet die Unterschlüssel dieser Unterschlüssel jedoch nicht auf.

Wenn pKeyName eine leere Zeichenfolge ("") ist , zählt EnumPrinterKey den Schlüssel der obersten Ebene für den Drucker auf. Wenn pKeyNameNULL ist, gibt EnumPrinterKey ERROR_INVALID_PARAMETER zurück.

pSubkey [out]

Ein Zeiger auf einen Puffer, der ein Array mit NULL-gekündigten Unterschlüsselnamen empfängt. Das Array wird durch zwei NULL-Zeichen beendet.

cbSubkey [in]

Die Größe des Puffers in Bytes, auf den pSubkey verweist. Wenn Sie cbSubkey auf Null festlegen, gibt der pcbSubkey-Parameter die erforderliche Puffergröße zurück.

pcbSubkey [out]

Ein Zeiger auf eine Variable, die die Anzahl der im pSubkey-Puffer abgerufenen Bytes empfängt. Wenn die von cbSubkey angegebene Puffergröße zu klein ist, gibt die Funktion ERROR_MORE_DATA zurück, und pcbSubkey gibt die erforderliche Puffergröße an.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode. Wenn pKeyName nicht vorhanden ist, wird der Rückgabewert ERROR_FILE_NOT_FOUND.

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.

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
EnumPrinterKeyW (Unicode) und EnumPrinterKeyA (ANSI)

Siehe auch

Drucken

Druckspooler-API-Funktionen

DeletePrinterDataEx

GetPrinterDataEx

OpenPrinter

SetPrinterDataEx