EnumPrinterKey fonction)

La fonction EnumPrinterKey énumère les sous-clés d’une clé spécifiée pour une imprimante spécifiée.

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

Syntaxe

DWORD EnumPrinterKey(
  _In_  HANDLE  hPrinter,
  _In_  LPCTSTR pKeyName,
  _Out_ LPTSTR  pSubkey,
  _In_  DWORD   cbSubkey,
  _Out_ LPDWORD pcbSubkey
);

Paramètres

hPrinter [ dans]

Handle vers l’imprimante pour laquelle la fonction énumère les sous-clés. Utilisez la fonction OpenPrinter ou AddPrinter pour récupérer un handle d’imprimante.

pKeyName [ dans]

Pointeur vers une chaîne se terminant par un caractère null qui spécifie la clé contenant les sous-clés à énumérer. Utilisez la barre oblique inverse « \ » comme séparateur pour spécifier un chemin d’accès avec une ou plusieurs sous-clés. EnumPrinterKey énumère toutes les sous-clés de la clé, mais n’énumère pas les sous-clés de ces sous-clés.

Si pKeyName est une chaîne vide (""), EnumPrinterKey énumère la clé de niveau supérieur pour l’imprimante. Si pKeyName a la valeur null, ENUMPRINTERKEY retourne un paramètre d’erreur _ non valide _ .

pSubkey [ à]

Pointeur vers une mémoire tampon qui reçoit un tableau de noms de sous-clés se terminant par null. Le tableau se termine par deux caractères null.

cbSubkey [ dans]

Taille, en octets, de la mémoire tampon vers laquelle pointe pSubkey. Si vous affectez à cbSubkey la valeur zéro, le paramètre pcbSubkey retourne la taille de mémoire tampon requise.

pcbSubkey [ à]

Pointeur vers une variable qui reçoit le nombre d’octets récupérés dans la mémoire tampon pSubkey . Si la taille de la mémoire tampon spécifiée par cbSubkey est trop petite, la fonction retourne _ l’erreur plus _ de données et pcbSubkey indique la taille de mémoire tampon requise.

Valeur retournée

Si la fonction réussit, la valeur de retour est une erreur de _ réussite.

Si la fonction échoue, la valeur de retour est un code d’erreur système. Si pKeyName n’existe pas, la valeur de retour est _ fichier d’erreurs _ _ introuvable.

Remarques

Notes

Il s’agit d’une fonction de blocage ou synchrone qui peut ne pas être renvoyée immédiatement. La vitesse à laquelle cette fonction est retournée dépend des facteurs d’exécution tels que l’état du réseau, la configuration du serveur d’impression et les facteurs d’implémentation des pilotes 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 faire que l’application semble ne pas répondre.

Configuration requise

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
EnumPrinterKeyW (Unicode) et EnumPrinterKeyA (ANSI)

Voir aussi

Impression

Fonctions API du spouleur d’impression

DeletePrinterDataEx

GetPrinterDataEx

OpenPrinter

SetPrinterDataEx