Fonction EngGetPrinterDriver (winddi.h)
La fonction EngGetPrinterDriver récupère les données du pilote pour l’imprimante spécifiée.
Syntaxe
ENGAPI BOOL EngGetPrinterDriver(
[in] HANDLE hPrinter,
[in, optional] LPWSTR pEnvironment,
[in] DWORD dwLevel,
[out, optional] BYTE *lpbDrvInfo,
[in] DWORD cbBuf,
[out] DWORD *pcbNeeded
);
Paramètres
[in] hPrinter
Gérez l’imprimante pour laquelle les données du pilote doivent être récupérées.
[in, optional] pEnvironment
Pointeur vers une chaîne terminée par null qui spécifie l’environnement. Par exemple, « Windows NT x86 » spécifie un système d’exploitation NT s’exécutant sur un processeur Intel. Si pEnvironment a la valeur NULL, l’environnement actuel du pilote appelant et de l’ordinateur client est utilisé.
[in] dwLevel
Spécifie la version de la structure vers laquelle lpbDrvInfo pointe. Ce paramètre doit avoir l’une des valeurs suivantes :
Valeur | Signification |
---|---|
1 | GDI écrit une structure DRIVER_INFO_1 dans la mémoire tampon vers laquelle lpbDrvInfo pointe. |
2 | GDI écrit une structure DRIVER_INFO_2 dans la mémoire tampon vers laquelle pointe lpbDrvInfo . |
3 | GDI écrit une structure DRIVER_INFO_3 dans la mémoire tampon vers laquelle pointe lpbDrvInfo . |
[out, optional] lpbDrvInfo
Pointeur vers une mémoire tampon dans laquelle GDI place la structure DRIVER_INFO_X demandée.
[in] cbBuf
Spécifie la taille, en octets, de la mémoire tampon vers laquelle lpbDrvInfo pointe.
[out] pcbNeeded
Pointeur vers un emplacement de mémoire dans lequel GDI place le nombre d’octets copiés dans la mémoire tampon vers lequel lpbDrvInfo pointe en cas de réussite, ou le nombre d’octets requis si cbBuf est trop petit.
Valeur retournée
EngGetPrinterDriver retourne TRUE en cas de réussite ; sinon, il signale une erreur et retourne FALSE.
Remarques
Une DLL de pilote d’imprimante peut fonctionner avec plusieurs fichiers de données pour prendre en charge différents modèles d’imprimante. Le pilote d’imprimante appelle EngGetPrinterDriver pour déterminer le fichier de données à utiliser. Par exemple, le renderer Unidrv appelle cette fonction pour déterminer le nom d’un fichier GPD , et le pilote postscript appelle cette fonction pour déterminer le nom d’un fichier PPD . Les structures DRIVER_INFO_2 et DRIVER_INFO_3 contiennent un chemin d’accès complet et un nom de fichier spécifiant l’emplacement du fichier de données. Le pilote d’imprimante peut ensuite utiliser le chemin d’accès et le nom de fichier retournés pour charger le fichier de données en appelant EngLoadModule avec le chemin d’accès et le nom de fichier comme argument unique.
Les structures DRIVER_INFO_X sont décrites dans la documentation Microsoft Windows SDK.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows. |
Plateforme cible | Universal |
En-tête | winddi.h (inclure Winddi.h) |
Bibliothèque | Win32k.lib |
DLL | Win32k.sys |