AddPrinterConnection2 fonction)
Ajoute une connexion à l’imprimante spécifiée pour l’utilisateur actuel et spécifie les détails de connexion.
Syntaxe
BOOL AddPrinterConnection2(
_In_ HWND hWnd,
_In_ LPCTSTR pszName,
DWORD dwLevel,
_In_ PVOID pConnectionInfo
);
Paramètres
-
HWND [ dans]
-
Handle de la fenêtre parente dans laquelle la boîte de dialogue s’affiche si le système d’impression doit télécharger un pilote d’imprimante à partir du serveur d’impression pour cette connexion.
-
pszName [ dans]
-
Pointeur vers une chaîne constante se terminant par un caractère null qui spécifie le nom de l’imprimante à laquelle l’utilisateur actuel souhaite se connecter.
-
dwLevel
-
Version de la structure vers laquelle pointe pConnectionInfo. Actuellement, seul le niveau 1 est défini, de sorte que la valeur de dwLevel doit être 1.
-
pConnectionInfo [ dans]
-
Pointeur vers une structure d' _ informations de connexion d’imprimante _ _ 1 . Pour plus d’informations sur ce paramètre, consultez la section Notes.
Valeur de retour
Si la fonction est réussie, la valeur de retour est une valeur différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
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.
lorsque Windows Vista établit une connexion à une imprimante, il peut être nécessaire de copier les fichiers du pilote d’imprimante à partir du serveur auquel l’imprimante est attachée. Si l’utilisateur n’a pas l’autorisation de copier les fichiers vers l’emplacement approprié, la fonction AddPrinterConnection2 échoue et GETLASTERROR retourne l’erreur _ accès _ refusé.
Si les fichiers de pilote d’imprimante doivent être copiés à partir du serveur d’impression mais ne peuvent pas être copiés en mode silencieux en raison des stratégies de groupe en vigueur et de la connexion à l’imprimante, _ _ aucune _ interface utilisateur n’est définie dans pConnectionInfo->dwFlags, aucune boîte de dialogue ne s’affiche et l’appel échoue.
Si le pilote d’imprimante locale peut être utilisé pour afficher les travaux d’impression pour cette imprimante et que la version du pilote local ne doit pas correspondre à la version du pilote d’imprimante sur le serveur, définissez _ incompatibilité de connexion d’imprimante _ dans PConnectionInfo->dwFlags et affectez le pointeur à une variable de chaîne qui contient le chemin d’accès au pilote d’imprimante locale pour pConnectionInfo->pszDriverName.
Une connexion d’imprimante établie par l’appel de AddPrinterConnection2 est énumérée lorsque EnumPrinters est appelé avec dwType défini sur la _ connexion d’enum d’imprimante _ .
La version ANSI de cette fonction, AddPrinterConnection2A, n’est pas prise en charge et retourne une erreur _ non _ prise en charge.
Spécifications
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge |
Windows [Applications de bureau Vista uniquement] |
| Serveur minimal pris en charge |
Windows Serveur 2008 [ applications de bureau uniquement] |
| En-tête |
|
| Bibliothèque |
|
| DLL |
|
| Noms Unicode et ANSI |
AddPrinterConnection2W (Unicode) |