Partager via


Fonction EnumPrintProcessorDatatypesA (winspool.h)

La fonction EnumPrintProcessorDatatypes d’un processeur d’impression énumère les types de données pris en charge par le processeur d’impression.

Syntaxe

BOOL EnumPrintProcessorDatatypesA(
  [in, optional]  LPSTR   pName,
  [in]            LPSTR   pPrintProcessorName,
                  DWORD   Level,
  [out, optional] LPBYTE  pDatatypes,
                  DWORD   cbBuf,
  [out]           LPDWORD pcbNeeded,
  [out]           LPDWORD pcReturned
);

Paramètres

[in, optional] pName

Pointeur fourni par l’appelant vers une chaîne représentant le nom du serveur sur lequel le processeur d’impression est installé. Si la valeur est NULL, le serveur est le système local.

[in] pPrintProcessorName

Pointeur fourni par l’appelant vers une chaîne représentant le nom du processeur d’impression.

Level

Valeur fournie par l’appelant indiquant le type des structures à retourner dans la mémoire tampon pointée par pDatatypes. Cette valeur doit être 1, ce qui indique que la structure est DATATYPES_INFO_1.

[out, optional] pDatatypes

Pointeur fourni par l’appelant vers une mémoire tampon pour recevoir un tableau de structures DATATYPES_INFO_1, suivi d’un ensemble de chaînes de caractères représentant des noms de types de données. La structure DATATYPES_INFO_1 est décrite dans la documentation Microsoft Windows SDK. Le membre de structure pName doit être de type LPWSTR.

cbBuf

Valeur fournie par l’appelant représentant la taille, en octets, de la mémoire tampon pointée par pDatatypes.

[out] pcbNeeded

Pointeur fourni par l’appelant vers un emplacement pour recevoir la taille minimale requise pour la mémoire tampon pointée par pDatatypes.

[out] pcReturned

Pointeur fourni par l’appelant vers un emplacement pour recevoir le nombre de structures DATATYPES_INFO_1 retournées dans la mémoire tampon pointée par pDatatypes.

Valeur retournée

Si l’opération réussit, la fonction doit retourner TRUE. Si l’opération échoue, la fonction doit appeler SetLastError pour définir un code d’erreur, puis retourner FALSE.

Remarques

Les processeurs d’impression sont nécessaires pour exporter une fonction EnumPrintProcessorDatatypes . Le fournisseur d’impression local appelle la fonction pendant l’initialisation. La fonction est également appelée lorsqu’une application appelle la version du spouleur de la même fonction.

La fonction doit retourner un tableau de structures DATATYPES_INFO_1, chaque structure pointant vers une chaîne qui représente un type de données. Les chaînes réelles doivent également être incluses dans la mémoire tampon, après le tableau de structure. Pour obtenir un exemple , consultez Exemple de processeur d’impression.

La fonction doit retourner le nombre de structures DATATYPES_INFO_1 retournées (c’est-à-dire le nombre de types de données pris en charge) à l’emplacement pointé par pcReturned.

La fonction doit retourner la taille minimale de mémoire tampon requise à l’emplacement pointé par pcbNeeded. Si la mémoire tampon fournie est trop petite, la fonction doit spécifier une valeur pour pcbNeeded, définir le code d’erreur sur ERROR_INSUFFICIENT_BUFFER et retourner FALSE.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête winspool.h (inclure Winspool.h)