Fonction EngEnumForms (winddi.h)
La fonction EngEnumForms énumère les formulaires pris en charge par l’imprimante spécifiée.
Syntaxe
ENGAPI BOOL EngEnumForms(
[in] HANDLE hPrinter,
[in] DWORD Level,
[out, optional] LPBYTE pForm,
[in] DWORD cbBuf,
[out] LPDWORD pcbNeeded,
[out] LPDWORD pcReturned
);
Paramètres
[in] hPrinter
Gérez l’imprimante pour laquelle les formulaires doivent être énumérés. Il s’agit du handle PDEV passé en tant que paramètre hDriver de DrvEnablePDEV.
[in] Level
Spécifie la version de la structure pointée vers pForm. Cette valeur doit être 1, ce qui indique que les formulaires énumérés doivent être retournés dans FORM_1_INFO structures.
[out, optional] pForm
Pointeur vers un tableau d’octets dans lequel les structures FORM_INFO_1 énumérées sont écrites.
[in] cbBuf
Spécifie la taille, en octets, de lpbForms.
[out] pcbNeeded
Pointeur vers un DWORD qui reçoit le nombre d’octets copiés dans pForm si la copie est terminée avec succès. Si pForm est trop petit pour contenir toutes les données des formulaires énumérés, ce DWORD spécifie le nombre d’octets requis.
[out] pcReturned
Pointeur vers un DWORD qui reçoit le nombre de structures FORM_INFO_1 copiées dans pForm.
Valeur retournée
EngEnumForms retourne TRUE si tous les paramètres sont valides et si les données de formulaire énumérées sont correctement copiées dans pForm. Sinon, il retourne FALSE et un message d’erreur est consigné. Pour obtenir des informations sur l’erreur, appelez EngGetLastError.
Remarques
Un pilote d’imprimante peut appeler EngEnumForms pour que GDI obtienne la liste des formulaires pris en charge par une imprimante particulière. Les informations énumérées sont retournées sous la forme d’un tableau de structures FORM_INFO_1 (déclarées dans la documentation Microsoft Windows SDK) pointées par pForm. Si le tableau pointé vers pForm n’est pas assez grand pour contenir les données énumérées, la taille de tableau requise est retournée dans pcbNeededed.
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 |