Funzione DeletePortUI (winsplp.h)
Una funzione DeletePortUI dell'interfaccia utente monitora una porta della stampante.
Sintassi
BOOL DeletePortUI(
[in, optional] PCWSTR pszServer,
[in] HWND hWnd,
[in] PCWSTR pszPortName
);
Parametri
[in, optional] pszServer
Puntatore fornito dal chiamante a una stringa che rappresenta un nome del server o NULL se la stampante è locale. Il monitoraggio della porta può ignorare questo parametro.
[in] hWnd
Handle fornito dal chiamante della finestra che deve essere usato come padre per le finestre di dialogo. Se NULL, non devono essere visualizzate finestre di dialogo.
[in] pszPortName
Puntatore fornito dal chiamante a una stringa che rappresenta il nome della porta da eliminare.
Valore restituito
Se l'operazione ha esito positivo, la funzione deve restituire TRUE. In caso contrario, deve restituire FALSE. Se l'operazione viene annullata dall'utente o non supportata, la funzione deve chiamare SetLastError(ERROR_CANCELLED), quindi restituire FALSE.
Commenti
Le DLL dell'interfaccia utente di monitoraggio delle porte sono necessarie per definire una funzione DeletePortUI e includere l'indirizzo della funzione in una struttura MONITORUI .
Il spooler chiama DeletePortUI dalla funzione DeletePort . Gli argomenti ricevuti da DeletePortUI sono gli argomenti ricevuti da DeletePort. La funzione DeletePort è descritta nella documentazione di Microsoft Windows SDK.
La funzione deve eseguire le operazioni seguenti:
-
Chiamare OpenPrinter, specificando un nome della stampante con il formato seguente:
- \\ServerName\,XcvPortPortName
dove ServerName e PortName sono i nomi di porta e server ricevuti come argomenti della funzione DeletePortUI .
La chiamata a OpenPrinter richiede una struttura PRINTER_DEFAULTS, descritta nella documentazione di Windows SDK. Il membro DesiredAccess della struttura deve essere impostato su SERVER_ACCESS_ADMINISTER. I membri pDatatype e pDevMode possono essere NULL.
Questa chiamata causa la chiamata alla funzione XcvOpenPort della DLL del server di monitoraggio di stampa.
-
Chiamare XcvData, specificando gli argomenti di input seguenti:
- Handle ricevuto da OpenPrinter
- Nome della porta ricevuto come argomento di funzione
- Stringa di nome dati di "DeletePort"
Questa chiamata causa la chiamata della funzione XcvClosePort della DLL del server.
- Se è necessaria l'interazione utente, ottenere informazioni dall'utente visualizzando una finestra di dialogo e quindi chiamare XcvData, specificando stringhe di nome dati personalizzate, per inviare le informazioni alla DLL del server. La chiamata XcvData causa la chiamata della funzione XcvDataPort del server.
- Chiamare ClosePrinter, specificando l'handle ricevuto da OpenPrinter. Ciò causa la chiamata della funzione XcvClosePort della DLL del server.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | winsplp.h (include Winsplp.h) |