EnumPrinterDrivers-Funktion
Die Funktion EnumPrinterDrivers 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 NULL-Zeichenfolge, die den Namen des Servers angibt, auf dem die Druckertreiber aufgelistet werden.
Wenn pNameNULL ist, listet die Funktion die lokalen Druckertreiber auf.
-
pEnvironment [in]
-
Ein Zeiger auf eine NULL-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 Plattformen auf, die auf dem angegebenen Server installiert sind.
-
Ebene [in]
-
Der Typ der im pDriverInfo-Puffer zurückgegebenen Informationsstruktur. Dies kann eine der folgenden Sein.
Wert Bedeutung - 1
DRIVER_INFO_1 - 2
DRIVER_INFO_2 - 3
DRIVER_INFO_3 - 4
DRIVER_INFO_4 - 5
DRIVER_INFO_5 - 6
DRIVER_INFO_6 - 8
DRIVER_INFO_8 -
pDriverInfo [out]
-
Ein Zeiger auf einen Puffer, der ein Array von DRIVER_INFO_*-Strukturen empfängt, wie von Level angegeben. Jede Struktur enthält Daten, die einen verfügbaren Druckertreiber beschreiben. Der Puffer muss groß genug sein, um das Array von Strukturen und allen Zeichenfolgen oder anderen Daten zu empfangen, auf die die Strukturmember zeigen.
Um die erforderliche Puffergröße zu ermitteln, rufen Sie EnumPrinterDrivers auf, wobei cbBuf auf Null festgelegt ist. EnumPrinterDrivers schlägt fehl, GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück, und der pcbNeed-Parameter gibt die Größe des Puffers zurück, der für das Array der Strukturen und deren Daten erforderlich ist.
-
cbBuf [in]
-
Die Größe des Puffers in Bytes, auf den pDriverInfo verweist
-
pcbNeeded [ out]
-
Ein Zeiger auf eine Variable, die die Anzahl der Bytes empfängt, die in den pDriverInfo-Puffer kopiert wurden, 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 auf dem angegebenen Druckserver installierten Druckertreiber.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Nichtzero-Wert.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.
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 |
|
Bibliothek |
|
DLL |
|
Unicode- und ANSI-Name |
EnumPrinterDriversW (Unicode) und EnumPrinterDriversA (ANSI) |