Partager via


GetPrinterDriver2, fonction

La fonction GetPrinterDriver2 récupère les données du pilote pour l’imprimante spécifiée. Si le pilote n’est pas installé sur l’ordinateur local, GetPrinterDriver2 l’installe et affiche toute interface utilisateur dans la fenêtre spécifiée.

Syntaxe

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

Paramètres

hWnd [in, facultatif]

Handle de la fenêtre qui sera utilisée comme fenêtre parente de toute interface utilisateur, telle qu’une boîte de dialogue, que le pilote affiche pendant l’installation. Si la valeur de ce paramètre est NULL, l’interface utilisateur du pilote est toujours affichée à l’utilisateur pendant l’installation, mais elle n’aura pas de fenêtre parente.

hPrinter [in]

Handle de l’imprimante pour laquelle les données du pilote doivent être récupérées. Utilisez la fonction OpenPrinter ou AddPrinter pour récupérer un handle d’imprimante.

pEnvironment [in, facultatif]

Pointeur vers une chaîne terminée par un caractère Null qui spécifie l’environnement (par exemple, Windows x86, Windows IA64 ou Windows x64). Si ce paramètre a la valeur NULL, l’environnement actuel de l’application appelante et de l’ordinateur client (et non de l’application de destination et du serveur d’impression) est utilisé.

Niveau [in]

Structure du pilote d’imprimante retournée dans la mémoire tampon pDriverInfo . Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
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]

Pointeur vers une mémoire tampon qui reçoit une structure contenant des informations sur le pilote, comme spécifié par Level. La mémoire tampon doit être suffisamment grande pour stocker les chaînes pointées par les membres de la structure.

Pour déterminer la taille de mémoire tampon requise, appelez GetPrinterDriver2 avec cbBuf défini sur zéro. GetPrinterDriver2 échoue, GetLastError retourne ERROR_INSUFFICIENT_BUFFER et le paramètre pcbNeeded retourne la taille, en octets, de la mémoire tampon requise pour contenir le tableau de structures et leurs données.

cbBuf [in]

Taille, en octets, du tableau vers lequel pDriverInfo pointe.

pcbNeeded [out]

Pointeur vers une valeur qui reçoit le nombre d’octets copiés si la fonction réussit ou le nombre d’octets requis si cbBuf est trop petit.

Valeur retournée

Si la fonction réussit, la valeur de retour est une valeur différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir la status de retour, appelez GetLastError.

Notes

Les structures DRIVER_INFO_2, DRIVER_INFO_3, DRIVER_INFO_4, DRIVER_INFO_5, DRIVER_INFO_6 et DRIVER_INFO_8 contiennent le nom de fichier ou le chemin d’accès complet et le nom de fichier du pilote d’imprimante dans le membre pDriverPath . Une application peut utiliser le chemin d’accès et le nom de fichier pour charger un pilote d’imprimante en appelant la fonction LoadLibrary et en fournissant le chemin d’accès et le nom de fichier comme argument unique.

La version ANSI de cette fonction, GetPrinterDriver2A , n’est pas prise en charge et retourne ERROR_NOT_SUPPORTED.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 [applications de bureau uniquement]
En-tête
Winspool.h (inclure Windows.h)
Bibliothèque
Winspool.lib
DLL
Winspool.drv
Noms Unicode et ANSI
GetPrinterDriver2W (Unicode)

Voir aussi

Impression

Fonctions API du spouleur d’impression

AddPrinterDriver

DRIVER_INFO_1

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_5

DRIVER_INFO_6

EnumPrinterDrivers

GetPrinterDriver

OpenPrinter