Partager via


DeletePortUI, fonction (winsplp.h)

La fonction DeletePortUI d’une DLL d’interface utilisateur de moniteur de port supprime un port d’imprimante.

Syntaxe

BOOL DeletePortUI(
  [in, optional] PCWSTR pszServer,
  [in]           HWND   hWnd,
  [in]           PCWSTR pszPortName
);

Paramètres

[in, optional] pszServer

Pointeur fourni par l’appelant vers une chaîne représentant un nom de serveur, ou NULL si l’imprimante est locale. (Le moniteur de port peut ignorer ce paramètre.)

[in] hWnd

Handle fourni par l’appelant de la fenêtre qui doit être utilisé comme parent pour les boîtes de dialogue. Si la valeur est NULL, aucune boîte de dialogue ne doit s’afficher.

[in] pszPortName

Pointeur fourni par l’appelant vers une chaîne représentant le nom du port à supprimer.

Valeur retournée

Si l’opération réussit, la fonction doit retourner TRUE. Sinon, elle doit retourner FALSE. Si l’opération est annulée par l’utilisateur ou n’est pas prise en charge, la fonction doit appeler SetLastError(ERROR_CANCELLED), puis retourner FALSE.

Remarques

Les DLL de l’interface utilisateur du moniteur de port sont nécessaires pour définir une fonction DeletePortUI et inclure l’adresse de la fonction dans une structure MONITORUI .

Le spouleur appelle DeletePortUI à partir de sa fonction DeletePort . Les arguments reçus par DeletePortUI sont les arguments reçus par DeletePort. (La fonction DeletePort est décrite dans la documentation Microsoft Windows SDK.)

La fonction doit effectuer les opérations suivantes :

  1. Appelez OpenPrinter, en spécifiant un nom d’imprimante au format suivant :
    \\ServerName\,XcvPortPortName

    ServerName et PortName sont les noms de serveur et de port reçus en tant qu’arguments de fonction DeletePortUI .

    L’appel à OpenPrinter nécessite une structure PRINTER_DEFAULTS, qui est décrite dans la documentation SDK Windows. Le membre DesiredAccess de la structure doit être défini sur SERVER_ACCESS_ADMINISTER. Ses membres pDatatype et pDevMode peuvent être NULL.

    Cet appel entraîne l’appel de la fonction XcvOpenPort du serveur d’impression du serveur d’impression.

  2. Appelez XcvData en spécifiant les arguments d’entrée suivants :
    • Handle reçu d’OpenPrinter
    • Nom de port reçu en tant qu’argument de fonction
    • Chaîne de nom de données « DeletePort »

    Cet appel entraîne l’appel de la fonction XcvClosePort de la DLL du serveur.

  3. Si l’utilisateur doit interagir, obtenez des informations auprès de l’utilisateur en affichant une boîte de dialogue, puis appelez XcvData, en spécifiant des chaînes de nom de données personnalisées, pour envoyer les informations à la DLL du serveur. L’appel XcvData provoque l’appel de la fonction XcvDataPort du serveur.
  4. Appelez ClosePrinter, en spécifiant le handle reçu d’OpenPrinter. Cela entraîne l’appel de la fonction XcvClosePort de la DLL du serveur.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête winsplp.h (inclure Winsplp.h)

Voir aussi

XcvClosePort

XcvData

XcvDataPort

XcvOpenPort