GetPrinterDataEx, fonction
La fonction GetPrinterDataEx récupère les données de configuration pour l’imprimante ou le serveur d’impression spécifié. GetPrinterDataEx peut récupérer les valeurs stockées par la fonction SetPrinterData . En outre, GetPrinterDataEx peut récupérer les valeurs que la fonction SetPrinterDataEx a stockées sous une clé spécifiée.
Syntaxe
DWORD GetPrinterDataEx(
_In_ HANDLE hPrinter,
_In_ LPCTSTR pKeyName,
_In_ LPCTSTR pValueName,
_Out_ LPDWORD pType,
_Out_ LPBYTE pData,
_In_ DWORD nSize,
_Out_ LPDWORD pcbNeeded
);
Paramètres
-
hPrinter [in]
-
Handle de l’imprimante ou du serveur d’impression pour lequel la fonction récupère les données de configuration. Utilisez la fonction OpenPrinter, OpenPrinter2 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 la valeur à récupérer. Utilisez le caractère barre oblique inverse ( \ ) comme délimiteur pour spécifier un chemin qui comporte une ou plusieurs sous-clés.
Si hPrinter est un handle pour une imprimante et que pKeyName a la valeur NULL ou une chaîne vide, GetPrinterDataEx retourne ERROR_INVALID_PARAMETER.
Si hPrinter est un handle pour un serveur d’impression, pKeyName est ignoré.
-
pValueName [in]
-
Pointeur vers une chaîne terminée par null qui identifie les données à récupérer.
Pour les imprimantes, cette chaîne spécifie le nom d’une valeur sous la clé pKeyName .
Pour les serveurs d’impression, cette chaîne est l’une des chaînes prédéfinies répertoriées dans la section Remarques suivante.
-
pType [out]
-
Pointeur vers une variable qui reçoit le type de données stockées dans la valeur. La fonction retourne le type spécifié dans l’appel SetPrinterDataEx lorsque les données ont été stockées. Ce paramètre peut avoir la valeur NULL si vous n’avez pas besoin des informations. GetPrinterDataEx transmet pType comme paramètre lpdwType d’un appel de fonction RegQueryValueEx .
-
pData [out]
-
Pointeur vers une mémoire tampon qui reçoit les données de configuration.
-
nSize [in]
-
Taille, en octets, de la mémoire tampon pointée vers pData.
-
pcbNeeded [out]
-
Pointeur vers une variable qui reçoit la taille, en octets, des données de configuration. Si la taille de mémoire tampon spécifiée par nSize est trop petite, la fonction retourne ERROR_MORE_DATA et pcbNeeded 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 une valeur d’erreur.
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.
GetPrinterDataEx récupère les données de configuration de l’imprimante qui ont été définies par les fonctions SetPrinterDataEx et SetPrinterData .
Appeler GetPrinterDataEx avec le paramètre pKeyName défini sur « PrinterDriverData » équivaut à appeler la fonction GetPrinterData .
Si hPrinter est un handle pour un serveur d’impression, pValueName peut spécifier l’une des valeurs prédéfinies suivantes.
Valeur | Commentaires |
---|---|
SPLREG_ALLOW_USER_MANAGEFORMS | Windows XP avec Service Pack 2 (SP2) et versions ultérieures Windows Server 2003 avec Service Pack 1 (SP1) et versions ultérieures |
SPLREG_ARCHITECTURE | |
SPLREG_BEEP_ENABLED | |
SPLREG_DEFAULT_SPOOL_DIRECTORY | |
SPLREG_DNS_MACHINE_NAME | |
SPLREG_DS_PRESENT | En cas de retour réussi, pData contient 0x0001 si l’ordinateur se trouve sur un domaine DS, 0 dans le cas contraire. |
SPLREG_DS_PRESENT_FOR_USER | En cas de retour réussi, pData contient 0x0001 si l’utilisateur est connecté à un domaine DS, 0 dans le cas contraire. |
SPLREG_EVENT_LOG | |
SPLREG_MAJOR_VERSION | |
SPLREG_MINOR_VERSION | |
SPLREG_NET_POPUP | Non pris en charge dans Windows Server 2003 et versions ultérieures |
SPLREG_NET_POPUP_TO_COMPUTER | En cas de retour réussi, pData contient 1 si les notifications de travail doivent être envoyées à l’ordinateur client, ou 0 si les notifications de travail doivent être envoyées à l’utilisateur. Non pris en charge dans Windows Server 2003 et versions ultérieures |
SPLREG_OS_VERSION | Windows XP et versions ultérieures |
SPLREG_OS_VERSIONEX | |
SPLREG_PORT_THREAD_PRIORITY_DEFAULT | |
SPLREG_PORT_THREAD_PRIORITY | |
SPLREG_PRINT_DRIVER_ISOLATION_GROUPS | Windows 7 et ultérieur |
SPLREG_PRINT_DRIVER_ISOLATION_TIME_BEFORE_RECYCLE | Windows 7 et ultérieur |
SPLREG_PRINT_DRIVER_ISOLATION_MAX_OBJECTS_BEFORE_RECYCLE | Windows 7 et ultérieur |
SPLREG_PRINT_DRIVER_ISOLATION_IDLE_TIMEOUT | Windows 7 et ultérieur |
SPLREG_PRINT_DRIVER_ISOLATION_EXECUTION_POLICY | Windows 7 et ultérieur |
SPLREG_PRINT_DRIVER_ISOLATION_OVERRIDE_POLICY | Windows 7 et ultérieur |
SPLREG_REMOTE_FAX | En cas de retour réussi, pData contient 0x0001 si le service FAX prend en charge les clients distants, 0 dans le cas contraire. |
SPLREG_RETRY_POPUP | En cas de retour réussi, pData contient 1 si le serveur est configuré pour réessayer des fenêtres contextuelles pour tous les travaux, ou 0 si le serveur ne tente pas de nouvelles fenêtres contextuelles pour tous les travaux. Non pris en charge dans Windows Server 2003 et versions ultérieures |
SPLREG_SCHEDULER_THREAD_PRIORITY | |
SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT | |
SPLREG_WEBSHAREMGMT | Windows Server 2003 et versions ultérieures |
Les valeurs suivantes de pValueName indiquent le comportement d’impression du pool en cas d’erreur.
Valeur | Commentaires |
---|---|
SPLREG_RESTART_JOB_ON_POOL_ERROR | La valeur de pData indique l’heure, en secondes, où un travail est redémarré sur un autre port après qu’une erreur se produit. Ce paramètre est utilisé avec SPLREG_RESTART_JOB_ON_POOL_ENABLED. |
SPLREG_RESTART_JOB_ON_POOL_ENABLED | Une valeur différente de zéro dans pData indique que SPLREG_RESTART_JOB_ON_POOL_ERROR est activé. |
L’heure spécifiée dans SPLREG_RESTART_JOB_ON_POOL_ERROR est une durée minimale. Le temps réel peut être plus long, en fonction des paramètres de surveillance de port suivants, qui sont des valeurs de Registre sous cette clé de Registre :
HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\<MonitorName>\Ports
Appelez la fonction RegQueryValueEx pour interroger ces valeurs.
Paramètre de moniteur de port | Type de données | Signification |
---|---|---|
StatusUpdateEnabled | REG_DWORD | Si une valeur différente de zéro, permet au moniteur de port de mettre à jour le spouleur avec le port status. |
StatusUpdateInterval | REG_DWORD | Spécifie l’intervalle, en minutes, lorsque le moniteur de port met à jour le spouleur avec le port status. |
Si pKeyName est l’une des clés prédéfinies du service d’annuaire (DS) (voir SetPrinter) et que pValueName contient une virgule (','), la partie de pValueName avant la virgule est le nom de la valeur et la partie de pValueName à droite de la virgule est l’OID de la propriété DS. Une sous-clé appelée OID est créée et une nouvelle valeur qui se compose du nom de la valeur et de l’OID est entrée sous la clé OID. SetPrinterDataEx ajoute également le nom de la valeur et les données sous la clé DS.
Dans Windows 7 et les versions ultérieures de Windows, les travaux d’impression envoyés à un serveur d’impression sont affichés sur le client par défaut. La configuration du rendu côté client pour une imprimante peut être lue en définissant pKeyName sur « PrinterDriverData » et pValueName sur la valeur de paramètre dans le tableau suivant.
Paramètre | Type de données | Description |
---|---|---|
EMFDespoolingSetting | REG_DWORD | La valeur 0, ou si cette valeur n’est pas présente dans le Registre, active le rendu côté client par défaut des travaux d’impression. La valeur 1 désactive le rendu côté client des travaux d’impression. |
ForceClientSideRendering | REG_DWORD | 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 une tâche d’impression ne peut pas être affichée sur le serveur, elle é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, il é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 |
|
Bibliothèque |
|
DLL |
|
Noms Unicode et ANSI |
GetPrinterDataExW (Unicode) et GetPrinterDataExA (ANSI) |