Fonction EnumPrinterKey
La fonction EnumPrinterKey énumère les sous-clés d’une clé spécifiée pour une imprimante spécifiée.
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 EnumPrinterKey(
_In_ HANDLE hPrinter,
_In_ LPCTSTR pKeyName,
_Out_ LPTSTR pSubkey,
_In_ DWORD cbSubkey,
_Out_ LPDWORD pcbSubkey
);
Paramètres
-
hPrinter [in]
-
Handle de 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 [in]
-
Pointeur vers une chaîne terminée par null qui spécifie la clé contenant les sous-clés à énumérer. Utilisez le caractère de barre oblique inverse « \ » comme délimiteur 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 de l’imprimante. Si pKeyName a lavaleur NULL, EnumPrinterKey retourne ERROR_INVALID_PARAMETER.
-
pSubkey [out]
-
Pointeur vers une mémoire tampon qui reçoit un tableau de noms de sous-clés null. Le tableau est terminé par deux caractères null.
-
cbSubkey [in]
-
Taille, en octets, de la mémoire tampon pointée vers pSubkey. Si vous définissez cbSubkey sur zéro, le paramètre pcbSubkey retourne la taille de mémoire tampon requise.
-
pcbSubkey [out]
-
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 mémoire tampon spécifiée par cbSubkey est trop petite, la fonction retourne ERROR_MORE_DATA et pcbSubkey indique la taille de mémoire tampon requise.
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. Si pKeyName n’existe pas, la valeur de retour est ERROR_FILE_NOT_FOUND.
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.
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 |
EnumPrinterKeyW (Unicode) et EnumPrinterKeyA (ANSI) |