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 |
|
Bibliothèque |
|
DLL |
|
Noms Unicode et ANSI |
EnumFormsW (Unicode) et EnumFormsA (ANSI) |