Condividi tramite


Funzione DeletePortUI (winsplp.h)

Una DLL dell'interfaccia utente di monitoraggio delle porte funzione DeletePortUI elimina 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 delle porte può ignorare questo parametro.

[in] hWnd

Handle fornito dal chiamante della finestra che deve essere utilizzato come elemento 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.

Osservazioni

Le DLL dell'interfaccia utente di Monitoraggio porte sono necessarie per definire una funzione DeletePortUI e includere l'indirizzo della funzione in una struttura MONITORUI.

Lo spooler chiama DeletePortUI dall'interno della relativa 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 di stampante con il formato seguente:
    \\ NomeServer\,XcvPortPortName

    dove NomeServer e PortName sono i nomi del server e delle porte ricevuti come argomenti di 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 relativi pDatatype e pDevMode possono essere NULL.

    Questa chiamata fa sì che venga chiamata la funzione di 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 della funzione
    • Stringa di nome dati "DeletePort"

    Questa chiamata fa sì che venga chiamata la funzione di XcvClosePort della DLL del server.

  3. Se è necessaria l'interazione dell'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 XcvDataXcvDataPort del server determina la chiamata della funzione di XcvDataPort.
  4. Chiamare ClosePrinter, specificando l'handle ricevuto da OpenPrinter. In questo modo viene chiamata la funzione XcvClosePort della DLL del server.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione winsplp.h (includere Winsplp.h)

Vedere anche

XcvClosePort

XcvData

XcvDataPort

XcvOpenPort