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:

  1. 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.

  2. 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.

  3. 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.
  4. 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)

Vedi anche

XcvClosePort

XcvData

XcvDataPort

XcvOpenPort