Partager via


Fonction EnumForms

La fonction EnumForms énumère les formulaires pris en charge par l’imprimante spécifiée.

Syntaxe

BOOL EnumForms(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pForm,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Paramètres

hPrinter [in]

Gérez l’imprimante pour laquelle les formulaires doivent être énumérés. Utilisez la fonction OpenPrinter ou AddPrinter pour récupérer un handle d’imprimante.

Niveau [in]

Spécifie la version de la structure vers laquelle pForm pointe. Cette valeur doit être 1 ou 2.

pForm [out]

Pointeur vers une ou plusieurs structures FORM_INFO_1 ou vers une ou plusieurs structures FORM_INFO_2 . Toutes les structures auront le même niveau.

cbBuf [in]

Spécifie la taille, en octets, de la mémoire tampon vers laquelle pForm pointe.

pcbNeeded [out]

Pointeur vers une variable qui reçoit le nombre d’octets copiés dans le tableau vers lequel pForm pointe (si l’opération réussit) ou le nombre d’octets requis (en cas d’échec car cbBuf est trop petit).

pcReturned [out]

Pointeur vers une variable qui reçoit le nombre de structures copiées dans le tableau vers lequel pForm pointe.

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.

Si l’appelant est distant et que level est 2, la valeur StringType des structures FORM_INFO_2 retournées est toujours STRING_LANGPAIR.

Dans Windows Vista, les données de formulaire retournées par EnumForms sont récupérées à partir d’un cache local lorsque hPrinter fait référence à un serveur d’impression distant ou à une imprimante hébergée par un serveur d’impression et qu’il existe au moins une connexion ouverte à une imprimante sur le serveur d’impression distant. Dans toutes les autres configurations, les données de formulaire sont interrogées à partir du serveur d’impression distant.

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
Winspool.h (inclure Windows.h)
Bibliothèque
Winspool.lib
DLL
Winspool.drv
Noms Unicode et ANSI
EnumFormsW (Unicode) et EnumFormsA (ANSI)

Voir aussi

Impression

Fonctions API du spouleur d’impression

Addprinter

FORM_INFO_1

OpenPrinter