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 |
|
Bibliothek |
|
DLL |
|
Unicode- und ANSI-Name |
EnumPrinterDataExW (Unicode) und EnumPrinterDataExA (ANSI) |