SetPrinterData fonction)

La fonction SetPrinterData définit les données de configuration d’une imprimante ou d’un serveur d’impression.

Pour spécifier la clé de Registre dans laquelle stocker les données, appelez la fonction SetPrinterDataEx . L’appel de SetPrinterData équivaut à appeler la fonction SetPrinterDataEx avec le paramètre pKeyName défini sur « PrinterDriverData ».

Syntaxe

DWORD SetPrinterData(
  _In_ HANDLE hPrinter,
  _In_ LPTSTR pValueName,
  _In_ DWORD  Type,
  _In_ LPBYTE pData,
  _In_ DWORD  cbData
);

Paramètres

hPrinter [ dans]

Handle vers l’imprimante ou le serveur d’impression pour lequel la fonction définit les données de configuration. Utilisez la fonction OpenPrinter, OpenPrinter2ou AddPrinter pour récupérer un handle d’imprimante.

pValueName [ dans]

Pointeur vers une chaîne terminée par le caractère null qui identifie les données à définir.

Pour les imprimantes, cette chaîne correspond au nom d’une valeur de Registre sous la clé « PrinterDriverData » de l’imprimante dans le registre.

Pour les serveurs d’impression, cette chaîne est l’une des chaînes prédéfinies énumérées dans la section Notes suivante.

Type [ dans]

Code qui indique le type de données vers lequel pointe le paramètre pData . Pour obtenir la liste des codes de type possibles, consultez types de valeurs de Registre.

pData [ dans]

Pointeur vers un tableau d’octets qui contient les données de configuration de l’imprimante.

cbData [ dans]

Taille, en octets, du tableau.

Valeur de retour

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

Si la fonction échoue, la valeur de retour est une valeur d’erreur.

Notes

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.

Pour récupérer les données de configuration existantes d’une imprimante, appelez la fonction GetPrinterDataEx ou GetPrinterData .

Si hPrinter est un handle vers un serveur d’impression, pValueName peut spécifier l’une des valeurs prédéfinies suivantes.

Valeur Commentaires
SPLREG _ autoriser l' _ utilisateur _ MANAGEFORMS Windows XP avec Service Pack 2 (SP2) et versions ultérieures
Windows Serveur 2003 avec Service Pack 1 (SP1) et versions ultérieures
_signal sonore SPLREG _ activé
SPLREG _ _ Répertoire de spoule par défaut _
_Journal des événements SPLREG _
_fenêtre SPLREG NET _ non pris en charge dans Windows Server 2003 et versions ultérieures
_ _ _ _ valeur par défaut de la priorité du thread du port SPLREG
_priorité de _ thread de port SPLREG _
_ _ _ groupes d’isolation du pilote d’impression SPLREG _ Windows 7 et ultérieur
_ _ _ temps d’isolement du pilote d’impression SPLREG _ avant le _ _ recyclage Windows 7 et ultérieur
_isolement du _ pilote d’impression SPLREG _ _ nombre maximal d' _ objets _ avant le _ recyclage Windows 7 et ultérieur
_ _ _ _ délai d’inactivité d’isolation du pilote d’impression _ SPLREG Windows 7 et ultérieur
_ _ _ stratégie d’exécution de _ l' _ isolation du pilote d’impression SPLREG Windows 7 et ultérieur
_stratégie de _ _ remplacement d’isolation du pilote d’impression _ SPLREG _ Windows 7 et ultérieur
_ _ fenêtre contextuelle SPLREG Retry En cas de retour réussi, pData contient 1 si le serveur est configuré pour réessayer les fenêtres contextuelles pour tous les travaux, ou 0 si le serveur ne réessaye pas les fenêtres publicitaires pour tous les travaux.
non pris en charge dans Windows Server 2003 et versions ultérieures
_ _ priorité de threads du planificateur SPLREG _
_priorité de thread du planificateur SPLREG _ _ _ par défaut
SPLREG _ WEBSHAREMGMT Windows Serveur 2003 et versions ultérieures

Les valeurs suivantes de pValueName déterminent le comportement d’impression du pool lorsqu’une erreur se produit.

Valeur Commentaires
_ _ erreur de redémarrage du travail SPLREG _ sur le _ pool _ La valeur de pData indique la durée, en secondes, à laquelle un travail est redémarré sur un autre port après qu’une erreur s’est produite. Ce paramètre est utilisé avec la _ tâche de redémarrage SPLREG _ _ sur le _ pool _ activée.
_tâche de redémarrage SPLREG _ _ sur le _ pool _ activée Une valeur différente de zéro dans pData indique que _ _ le travail de redémarrage SPLREG sur l' _ _ _ erreur de pool est activé.

L’heure spécifiée dans l' _ erreur de redémarrage du _ travail SPLREG _ sur le _ pool _ est une heure minimale. L’heure réelle peut être plus longue, en fonction des paramètres de moniteur de port suivants, qui sont des valeurs de Registre sous cette clé de Registre :

HKLM \ System \ CurrentControlSet \ Control \ moniteurs d’impression \ \ < > \ ports nomdumoniteur

Appelez la fonction RegSetValueEx pour définir ces valeurs.

Paramètre du moniteur de port Type de données Signification
StatusUpdateEnabled _valeur DWORD reg Si la valeur est différente de zéro, active le moniteur de port pour mettre à jour le spouleur avec l’état du port.
StatusUpdateInterval _valeur DWORD reg Spécifie l’intervalle, en minutes, au cours duquel le moniteur de port met à jour le spouleur avec l’état du port.

dans Windows 7 et les versions ultérieures de Windows, les travaux d’impression qui sont envoyés à un serveur d’impression sont rendus sur le client par défaut. Le rendu côté client d’un travail d’impression peut être configuré pour chaque imprimante en définissant les valeurs suivantes dans pValueName.

Paramètre Type de données Description
EMFDespoolingSetting _valeur DWORD reg La valeur 0, ou si cette valeur n’est pas présente dans le registre, active le rendu par défaut côté client des travaux d’impression.
La valeur 1 désactive le rendu côté client des travaux d’impression.
ForceClientSideRendering _valeur DWORD reg La valeur 0, ou si cette valeur n’est pas présente dans le registre, entraîne le rendu des travaux d’impression sur le client. Si un travail d’impression ne peut pas être rendu sur le client, il sera rendu sur le serveur. Si un travail d’impression ne peut pas être rendu sur le serveur, il échoue.
La valeur 1 affiche les travaux d’impression sur le client. Si un travail d’impression ne peut pas être rendu sur le client, l’opération échoue.

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
SetPrinterDataW (Unicode) et SetPrinterDataA (ANSI)

Voir aussi

Impression

Fonctions API du spouleur d’impression

GetPrinter

GetPrinterData

GetPrinterDataEx

OpenPrinter

SetPrinterDataEx