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 [ dans]
-
Handle vers 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 [ dans]
-
pointeur vers une chaîne se terminant 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 (pas du serveur d’impression et de l’application de destination) est utilisé.
-
De niveau [ dans]
-
Structure du pilote d’imprimante renvoyée dans la mémoire tampon pDriverInfo . Ce paramètre peut prendre les valeurs suivantes.
-
pDriverInfo [ à]
-
Pointeur vers une mémoire tampon qui reçoit une structure contenant des informations sur le pilote, comme spécifié par le niveau. 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 à zéro. GetPrinterDriver échoue, GETLASTERROR retourne une _ erreur _ de mémoire tampon insuffisante et le paramètre pcbNeeded retourne la taille, en octets, de la mémoire tampon nécessaire pour contenir le tableau de structures et leurs données.
-
cbBuf [ dans]
-
Taille, en octets, du tableau auquel pDriverInfo pointe.
-
pcbNeeded [ à]
-
Pointeur vers une valeur qui reçoit le nombre d’octets copiés si la fonction est réussie ou le nombre d’octets requis si cbBuf est trop petit.
Valeur retournée
Si la fonction est réussie, 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 l’erreur _ _ pilote d’imprimante inconnu _ .
Remarques
Notes
Il s’agit d’une fonction de blocage ou synchrone qui peut ne pas être renvoyée immédiatement. La vitesse à laquelle cette fonction est retournée dépend des facteurs d’exécution tels que l’état du réseau, la configuration du serveur d’impression et les facteurs d’implémentation des pilotes 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 faire que l’application semble ne pas répondre.
Les structures informations sur le pilote _ _ 2, informations sur le pilote _ _ 3, informations sur le pilote _ _ 4, _ informations sur le pilote _ 5et _ informations sur le pilote _ 6 contiennent le nom de fichier, 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 spécifiant le chemin d’accès et le nom de fichier comme argument unique.
Configuration requise
| 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) |