Partager via


Fonction UploadPrinterDriverPackage

Charge un pilote d’imprimante dans le magasin de pilotes du serveur d’impression afin qu’il puisse être installé en appelant InstallPrinterDriverFromPackage.

Syntaxe

HRESULT UploadPrinterDriverPackage(
  _In_    LPCTSTR pszServer,
  _In_    LPCTSTR pszInfPath,
  _In_    LPCTSTR pszEnvironment,
  _In_    DWORD   dwFlags,
  _In_    HWND    hwnd,
  _Out_   LPTSTR  pszDestInfPath,
  _Inout_ PULONG  pcchDestInfPath
);

Paramètres

pszServer [in]

Pointeur vers une chaîne constante terminée par null qui spécifie le nom du serveur d’impression. Utilisez NULL si le serveur est l’ordinateur local.

pszInfPath [in]

Pointeur vers une chaîne constante , terminée par null, qui spécifie le chemin d’accès source au fichier .inf du pilote.

pszEnvironment [in]

Pointeur vers une chaîne constante terminée par null qui spécifie l’architecture du processeur du serveur (par exemple, Windows NT x86). Cela peut être NULL.

dwFlags [in]

Il peut s’agir de l’une des valeurs suivantes :

Valeur Signification
UPDP_SILENT_UPLOAD
L’interface utilisateur ne s’affiche pas pendant le chargement.
UPDP_UPLOAD_ALWAYS
Les fichiers sont chargés même si le package se trouve déjà dans le magasin de pilotes du serveur.
UPDP_CHECK_DRIVERSTORE
Le magasin de pilotes du serveur est vérifié avant le chargement pour voir si le package est déjà présent. Ce paramètre est ignoré si UPDP_UPLOAD_ALWAYS est défini.

hwnd [in]

Handle de l’interface utilisateur de copie.

pszDestInfPath [out]

Pointeur vers le chemin d’accès de destination, dans le magasin de pilotes, dans lequel le fichier .inf du pilote a été copié.

pcchDestInfPath [in, out]

Lors de l’entrée, spécifie la taille, en caractères, de la mémoire tampon pszDestInfPath . À la sortie, reçoit la taille, en caractères, de la chaîne de chemin d’accès, y compris le caractère null de fin.

Valeur retournée

Si l’opération réussit, la valeur de retour est S_OK, sinon le HRESULT contiendra un code d’erreur.

Pour plus d’informations sur les codes d’erreur COM, consultez Gestion des erreurs.

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.

Le magasin de pilotes est généralement %windir%\inf ou %windir%\System32\DriverStore\FileRepository.

Un seul package à la fois peut être chargé. Si un package dépend d’autres, ils doivent être chargés séparément.

Seuls les packages de pilotes signés peuvent être chargés.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 [applications de bureau uniquement]
En-tête
Winspool.h (inclure Windows.h)
Bibliothèque
Winspool.lib
DLL
Spoolss.dll
Noms Unicode et ANSI
UploadPrinterDriverPackageW (Unicode) et UploadPrinterDriverPackageA (ANSI)

Voir aussi

Impression

Fonctions API du spouleur d’impression