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 |
|
Bibliothèque |
|
DLL |
|
Noms Unicode et ANSI |
GetPrinterDriver2W (Unicode) |