Condividi tramite


Funzione GetPrinterDriver2

La funzione GetPrinterDriver2 recupera i dati del driver per la stampante specificata. Se il driver non è installato nel computer locale, GetPrinterDriver2 lo installa e visualizza qualsiasi interfaccia utente nella finestra specificata.

Sintassi

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
);

Parametri

hWnd [in, facoltativo]

Handle della finestra che verrà usata come finestra padre di qualsiasi interfaccia utente, ad esempio una finestra di dialogo, visualizzata dal driver durante l'installazione. Se il valore di questo parametro è NULL, l'interfaccia utente del driver verrà comunque visualizzata all'utente durante l'installazione, ma non avrà una finestra padre.

hPrinter [in]

Handle alla stampante per cui devono essere recuperati i dati del driver. Usare la funzione OpenPrinter o AddPrinter per recuperare un handle della stampante.

pEnvironment [in, facoltativo]

Puntatore a una stringa con terminazione null che specifica l'ambiente ,ad esempio Windows x86, Windows IA64 o Windows x64. Se questo parametro è NULL, viene usato l'ambiente corrente dell'applicazione chiamante e del computer client (non dell'applicazione di destinazione e del server di stampa).

Livello [in]

Struttura del driver della stampante restituita nel buffer pDriverInfo . Questo parametro può avere uno dei valori seguenti.

Valore Significato
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]

Puntatore a un buffer che riceve una struttura contenente informazioni sul driver, come specificato da Level. Il buffer deve essere abbastanza grande per archiviare le stringhe a cui puntano i membri della struttura.

Per determinare le dimensioni del buffer necessarie, chiamare GetPrinterDriver2 con cbBuf impostato su zero. GetPrinterDriver2 ha esito negativo, GetLastError restituisce ERROR_INSUFFICIENT_BUFFER e il parametro pcbNeeded restituisce le dimensioni, in byte, del buffer necessario per contenere la matrice di strutture e i relativi dati.

cbBuf [in]

Dimensioni, in byte, della matrice in corrispondenza della quale pDriverInfo punta.

pcbNeeded [out]

Puntatore a un valore che riceve il numero di byte copiati se la funzione ha esito positivo o il numero di byte necessari se cbBuf è troppo piccolo.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere lo stato restituito, chiamare GetLastError.

Commenti

Le strutture DRIVER_INFO_2, DRIVER_INFO_3, DRIVER_INFO_4, DRIVER_INFO_5, DRIVER_INFO_6eDRIVER_INFO_8 contengono il nome del file o il nome completo del driver della stampante nel membro pDriverPath. Un'applicazione può usare il percorso e il nome del file per caricare un driver della stampante chiamando la funzione LoadLibrary e specificando il percorso e il nome del file come singolo argomento.

La versione ANSI di questa funzione, GetPrinterDriver2A non è supportata e restituisce ERROR_NOT_SUPPORTED.

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2008 [solo app desktop]
Intestazione
Winspool.h (include Windows.h)
Libreria
Winspool.lib
DLL
Winspool.drv
Nomi Unicode e ANSI
GetPrinterDriver2W (Unicode)

Vedi anche

Stampa

Funzioni dell'API spooler di stampa

Addprinterdriver

DRIVER_INFO_1

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_5

DRIVER_INFO_6

EnumPrinterDrivers

Getprinterdriver

OpenPrinter