Partager via


Fonction EnumPrinterDataEx

La fonction EnumPrinterDataEx énumère tous les noms de valeurs et les données d’une imprimante et d’une clé spécifiées.

Les données d’imprimante sont stockées dans le Registre. Lors de l’énumération des données d’imprimante, n’appelez pas les fonctions du Registre susceptibles de modifier les données.

Syntaxe

DWORD EnumPrinterDataEx(
  _In_  HANDLE  hPrinter,
  _In_  LPCTSTR pKeyName,
  _Out_ LPBYTE  pEnumValues,
  _In_  DWORD   cbEnumValues,
  _Out_ LPDWORD pcbEnumValues,
  _Out_ LPDWORD pnEnumValues
);

Paramètres

hPrinter [in]

Handle de l’imprimante pour laquelle la fonction récupère les données de configuration. Utilisez la fonction OpenPrinter ou AddPrinter pour récupérer un handle d’imprimante.

pKeyName [in]

Pointeur vers une chaîne terminée par null qui spécifie la clé contenant les valeurs à énumérer. Utilisez le caractère barre oblique inverse ( \ ) comme délimiteur pour spécifier un chemin d’accès avec une ou plusieurs sous-clés. EnumPrinterDataEx énumère toutes les valeurs de la clé, mais n’énumère pas les valeurs des sous-clés de la clé spécifiée. Utilisez la fonction EnumPrinterKey pour énumérer les sous-clés.

Si pKeyName a la valeur NULL ou une chaîne vide, EnumPrinterDataEx retourne ERROR_INVALID_PARAMETER.

pEnumValues [out]

Pointeur vers une mémoire tampon qui reçoit un tableau de structures PRINTER_ENUM_VALUES . Chaque structure contient le nom de la valeur, le type, les données et les tailles d’une valeur sous la clé.

cbEnumValues [in]

Taille, en octets, de la mémoire tampon pointée vers par pcbEnumValues. Si vous définissez cbEnumValues sur zéro, le paramètre pcbEnumValues retourne la taille de mémoire tampon requise.

pcbEnumValues [out]

Pointeur vers une variable qui reçoit la taille, en octets, des données de configuration récupérées. Si la taille de mémoire tampon spécifiée par cbEnumValues est trop petite, la fonction retourne ERROR_MORE_DATA et pcbEnumValues indique la taille de mémoire tampon requise.

pnEnumValues [out]

Pointeur vers une variable qui reçoit le nombre de structures PRINTER_ENUM_VALUESretournées dans pEnumValues.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour est un code d’erreur système.

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.

EnumPrinterDataEx récupère les données de configuration d’imprimante définies par les fonctions SetPrinterDataEx et SetPrinterData .

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
EnumPrinterDataExW (Unicode) et EnumPrinterDataExA (ANSI)

Voir aussi

Impression

Fonctions API du spouleur d’impression

DeletePrinterDataEx

EnumPrinterKey

GetPrinterDataEx

OpenPrinter

PRINTER_ENUM_VALUES

SetPrinterData

SetPrinterDataEx