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 :
-
Appelez OpenPrinter, en spécifiant un nom d’imprimante au format suivant :
- \\ServerName\,XcvPortPortName
où 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.
-
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.
- 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.
- 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) |