Fonction EnumPrinterDrivers
La fonction EnumPrinterDrivers énumère les pilotes d’imprimante installés sur un serveur d’imprimante spécifié.
Syntaxe
BOOL EnumPrinterDrivers(
_In_ LPTSTR pName,
_In_ LPTSTR pEnvironment,
_In_ DWORD Level,
_Out_ LPBYTE pDriverInfo,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded,
_Out_ LPDWORD pcReturned
);
Paramètres
-
pName [in]
-
Pointeur vers une chaîne terminée par null qui spécifie le nom du serveur sur lequel les pilotes d’imprimante sont énumérés.
Si pName a la valeur NULL, la fonction énumère les pilotes d’imprimante locaux.
-
pEnvironment [in]
-
Pointeur vers une chaîne terminée par null qui spécifie l’environnement (par exemple, Windows x86, Windows IA64, Windows x64 ou Windows NT R4000). Si ce paramètre a la valeur NULL, la fonction utilise l’environnement actuel de l’appelant/client (et non du serveur de destination).
Si la chaîne pEnvironment spécifie « all », EnumPrinterDrivers énumère les pilotes d’imprimante pour toutes les plateformes installées sur le serveur spécifié.
-
Niveau [in]
-
Type de structure d’informations retournée dans la mémoire tampon pDriverInfo . Il peut s’agir de l’un des éléments suivants.
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 un tableau de structures DRIVER_INFO_*, comme spécifié par Level. Chaque structure contient des données qui décrivent un pilote d’imprimante disponible. La mémoire tampon doit être suffisamment grande pour recevoir le tableau de structures et toutes les chaînes ou autres données vers lesquelles pointent les membres de la structure.
Pour déterminer la taille de mémoire tampon requise, appelez EnumPrinterDrivers avec cbBuf défini sur zéro. EnumPrinterDrivers é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, de la mémoire tampon pointée par pDriverInfo
-
pcbNeeded [out]
-
Pointeur vers une variable qui reçoit le nombre d’octets copiés dans la mémoire tampon pDriverInfo si la fonction réussit. Si la mémoire tampon est trop petite, la fonction échoue et la variable reçoit le nombre d’octets requis.
-
pcReturned [out]
-
Pointeur vers une variable qui reçoit le nombre de structures retournées dans la mémoire tampon pDriverInfo . Il s’agit du nombre de pilotes d’imprimante installés sur le serveur d’impression spécifié.
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.
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.
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 |
EnumPrinterDriversW (Unicode) et EnumPrinterDriversA (ANSI) |