GetPrinterDriver2-Funktion
Die GetPrinterDriver2-Funktion ruft Treiberdaten für den angegebenen Drucker ab. Wenn der Treiber nicht auf dem lokalen Computer installiert ist, installiert GetPrinterDriver2 ihn und zeigt eine beliebige Benutzeroberfläche für das angegebene Fenster an.
Syntax
BOOL GetPrinterDriver2(
_In_opt_ HWND hWnd,
_In_ HANDLE hPrinter,
_In_opt_ LPTSTR pEnvironment,
_In_ DWORD Level,
_Out_ LPBYTE pDriverInfo,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded
);
Parameter
-
hWnd [in, optional]
-
Ein Handle des Fensters, das als übergeordnetes Fenster einer beliebigen Benutzeroberfläche verwendet wird, z. B. ein Dialogfeld, das der Treiber während der Installation anzeigt. Wenn der Wert dieses Parameters NULL ist, wird dem Benutzer die Benutzeroberfläche des Treibers während der Installation weiterhin angezeigt, es gibt jedoch kein übergeordnetes Fenster.
-
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, optional]
-
Ein Zeiger auf eine NULL-endende 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 durch Level angegeben. Der Puffer muss groß genug sein, um die Zeichenfolgen zu speichern, auf die die Strukturmember verweisen.
Um die erforderliche Puffergröße zu bestimmen, rufen Sie GetPrinterDriver2 auf, wobei cbBuf auf 0 festgelegt ist. GetPrinterDriver2 schlägt fehl, GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück, und der parameter pcbNeeded gibt die Größe des Puffers in Bytes zurück, der zum Speichern des Arrays von Strukturen und deren Daten erforderlich ist.
-
cbBuf [in]
-
Die Größe des Arrays in Bytes, auf das pDriverInfo zeigt.
-
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 Wert ungleich null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Rufen Sie GetLastError auf, um die rückgabe status zu erhalten.
Bemerkungen
Die Strukturen DRIVER_INFO_2, DRIVER_INFO_3, DRIVER_INFO_4, DRIVER_INFO_5, DRIVER_INFO_6 und DRIVER_INFO_8 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 die LoadLibrary-Funktion aufgerufen und der Pfad und der Dateiname als einzelnes Argument angegeben werden.
Die ANSI-Version dieser Funktion GetPrinterDriver2A wird nicht unterstützt und gibt ERROR_NOT_SUPPORTED zurück.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2008 [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|
Unicode- und ANSI-Name |
GetPrinterDriver2W (Unicode) |