Partager via


AddPrintDeviceObject, fonction (winsplp.h)

Avertissement

À compter de Windows 10, les API qui prennent en charge les fournisseurs d’impression tiers sont déconseillées. Microsoft ne recommande aucun investissement dans des fournisseurs d’impression tiers. En outre, sur Windows 8 et les produits plus récents où le modèle de pilote d’impression v4 est disponible, les fournisseurs d’impression tiers peuvent ne pas créer ou gérer de files d’attente qui utilisent des pilotes d’impression v4.

La fonction de fournisseur d’impression AddPrintDeviceObject crée un objet d’appareil pour une file d’attente de fournisseur d’impression.

Syntaxe

HRESULT AddPrintDeviceObject(
  [in]  HANDLE hPrinter,
  [out] HANDLE *phDeviceObject
);

Paramètres

[in] hPrinter

Handle pour une imprimante ouverte. Il doit s’agir d’un HANDLE retourné par les fonctions de spouleur AddPrinter ou OpenPrinter .

[out] phDeviceObject

HANDLE de l’objet d’appareil, s’il a été créé avec succès.

Valeur retournée

La fonction AddPrintDeviceObject retourne S_OK, si l’objet d’appareil a été créé avec succès. Sinon, il retourne une erreur.

Remarques

La fonction AddPrintDeviceObject doit être appelée dans les situations suivantes :

L’utilisateur installe une imprimante

  • Le fournisseur d’impression doit appeler cette fonction après avoir installé l’imprimante.

  • La fonction doit être appelée en empruntant l’identité de l’utilisateur qui installe l’imprimante.

Le fournisseur d’impression doit appeler cette fonction pour chaque imprimante précédemment installée appartenant au fournisseur. Pendant ce temps, AddPrintDeviceObject n’a pas besoin d’emprunter l’identité du contexte utilisateur lorsqu’il est appelé.

Tout objet d’appareil ajouté à l’aide de AddPrintDeviceObject persiste jusqu’à ce que vous le supprimiez à l’aide de RemovePrintDeviceObject ou jusqu’à ce que le service de spouleur redémarre. Et lorsque les services de spouleur s’arrêtent, tous les objets d’appareil sont automatiquement supprimés.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête winsplp.h (inclure Winspool.h)
Bibliothèque WinSpool.lib
DLL WinSpool.drv

Voir aussi

RemovePrintDeviceObject