GetPrinterDriver-Funktion
Die GetPrinterDriver-Funktion ruft Treiberdaten für den angegebenen Drucker ab. Wenn der Treiber nicht auf dem lokalen Computer installiert ist, installiert GetPrinterDriver ihn.
Syntax
BOOL GetPrinterDriver(
_In_ HANDLE hPrinter,
_In_ LPTSTR pEnvironment,
_In_ DWORD Level,
_Out_ LPBYTE pDriverInfo,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded
);
Parameter
-
hPrinter [in]
-
Ein Handle für den Drucker, für den die Treiberdaten abgerufen werden sollen. Verwenden Sie die OpenPrinter - oder AddPrinter-Funktion , um einen Druckerhandle abzurufen.
-
pEnvironment [in]
-
Ein Zeiger auf eine NULL-Zeichenfolge, die die Umgebung angibt (z. B. Windows x86, Windows IA64 oder Windows x64). Wenn dieser Parameter NULL ist, wird die aktuelle Umgebung der aufrufenden Anwendung und des Clientcomputers (nicht der Zielanwendung und des Druckservers) verwendet.
-
Ebene [in]
-
Die im pDriverInfo-Puffer zurückgegebene Druckertreiberstruktur. Dieser Parameter kann einen der folgenden Werte annehmen.
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 eine Struktur empfängt, die Informationen zum Treiber enthält, wie von Level angegeben. Der Puffer muss groß genug sein, um die Zeichenfolgen zu speichern, auf die von den Strukturelementen verwiesen wird.
Um die erforderliche Puffergröße zu ermitteln, rufen Sie GetPrinterDriver auf, wobei cbBuf auf 0 festgelegt ist. GetPrinterDriver 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 von Strukturen und deren Daten erforderlich ist.
-
cbBuf [in]
-
Die Größe des Arrays in Bytes, auf das pDriverInfo verweist.
-
pcbNeeded [ out]
-
Ein Zeiger auf einen Wert, der die Anzahl der kopierten Bytes empfängt, wenn die Funktion erfolgreich ist, oder die Anzahl der erforderlichen Bytes, wenn cbBuf zu klein ist.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Nichtzero-Wert.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.
Für einen nicht vorhandenen Treiber gibt die Funktion ERROR_UNKNOWN_PRINTER_DRIVER zurück.
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.
Die strukturen DRIVER_INFO_2, DRIVER_INFO_3, DRIVER_INFO_4, DRIVER_INFO_5 und DRIVER_INFO_6 enthalten den Dateinamen oder den vollständigen Pfad und Dateinamen des Druckertreibers im pDriverPath-Element . Eine Anwendung kann den Pfad und dateinamen verwenden, um einen Druckertreiber zu laden, indem sie die LoadLibrary-Funktion aufruft und den Pfad und den Dateinamen als einzelnes Argument angibt.
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 |
GetPrinterDriverW (Unicode) und GetPrinterDriverA (ANSI) |