GetPrinterDriver, fonction
La fonction GetPrinterDriver 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, GetPrinterDriver l’installe.
Syntaxe
BOOL GetPrinterDriver(
_In_ HANDLE hPrinter,
_In_ LPTSTR pEnvironment,
_In_ DWORD Level,
_Out_ LPBYTE pDriverInfo,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded
);
Paramètres
-
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]
-
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 GetPrinterDriver avec cbBuf défini sur zéro. GetPrinterDriver é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 un pilote inexistant, la fonction retourne ERROR_UNKNOWN_PRINTER_DRIVER.
Notes
Notes
Il s’agit d’une fonction bloquante ou synchrone qui peut ne pas être retournée immédiatement. La rapidité avec laquelle cette fonction retourne dépend de facteurs d’exécution tels que l’status réseau, la configuration du serveur d’impression et les facteurs d’implémentation du pilote d’imprimante qui sont difficiles à prédire lors de l’écriture d’une application. L’appel de cette fonction à partir d’un thread qui gère l’interaction avec l’interface utilisateur peut donner l’impression que l’application ne répond pas.
Les structures DRIVER_INFO_2, DRIVER_INFO_3, DRIVER_INFO_4, DRIVER_INFO_5 et DRIVER_INFO_6 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.
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows 2000 Server [applications de bureau uniquement] |
En-tête |
|
Bibliothèque |
|
DLL |
|
Noms Unicode et ANSI |
GetPrinterDriverW (Unicode) et GetPrinterDriverA (ANSI) |