Fonction EnumPrintProcessorDatatypes

La fonction EnumPrintProcessorDatatypes énumère les types de données qu’un processeur d’impression spécifié prend en charge.

Syntaxe

BOOL EnumPrintProcessorDatatypes(
  _In_  LPTSTR  pName,
  _In_  LPTSTR  pPrintProcessorName,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pDatatypes,
  _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 réside le processeur d’impression. Si ce paramètre a la valeur NULL, les types de données du processeur d’impression local sont énumérés.

pPrintProcessorName [in]

Pointeur vers une chaîne terminée par null qui spécifie le nom du processeur d’impression dont les types de données sont énumérés.

Niveau [in]

Type d’informations retournées dans la mémoire tampon pDatatypes . Ce paramètre doit être 1.

pDatatypes [out]

Pointeur vers une mémoire tampon qui reçoit un tableau de structures DATATYPES_INFO_1 . Chaque structure décrit un type de données 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 EnumPrintProcessorDatatypes avec cbBuf défini sur zéro. EnumPrintProcessorDatatypes é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 pDatatypes.

pcbNeeded [out]

Pointeur vers une variable qui reçoit le nombre d’octets copiés dans la mémoire tampon pDatatypes 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 pDatatypes . Il s’agit du nombre de types de données pris en charge.

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.

v

À compter de Windows Vista, les informations de type de données des serveurs d’impression distants sont récupérées à partir d’un cache local.

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
EnumPrintProcessorDatatypesW (Unicode) et EnumPrintProcessorDatatypesA (ANSI)

Voir aussi

Impression

Fonctions API du spouleur d’impression

DATATYPES_INFO_1

EnumPrintProcessors