Freigeben über


DeletePortUI-Funktion (winsplp.h)

Die DeletePortUI-Funktion einer Portmonitor-UI-DLL löscht einen Druckerport.

Syntax

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

Parameter

[in, optional] pszServer

Vom Aufrufer bereitgestellter Zeiger auf eine Zeichenfolge, die einen Servernamen darstellt, oder NULL , wenn der Drucker lokal ist. (Der Portmonitor kann diesen Parameter ignorieren.)

[in] hWnd

Das vom Aufrufer bereitgestellte Handle des Fensters, das als übergeordnetes Element für Dialogfelder verwendet werden soll. Bei NULL sollten keine Dialogfelder angezeigt werden.

[in] pszPortName

Vom Aufrufer bereitgestellter Zeiger auf eine Zeichenfolge, die den Namen des zu löschenden Ports darstellt.

Rückgabewert

Wenn der Vorgang erfolgreich ist, sollte die Funktion TRUE zurückgeben. Andernfalls sollte false zurückgegeben werden. Wenn der Vorgang vom Benutzer abgebrochen oder nicht unterstützt wird, sollte die Funktion SetLastError(ERROR_CANCELLED) aufrufen und dann FALSE zurückgeben.

Hinweise

Portmonitor-UI-DLLs sind erforderlich, um eine DeletePortUI-Funktion zu definieren und die Adresse der Funktion in eine MONITORUI-Struktur aufzunehmen.

Der Spooler ruft DeletePortUI innerhalb seiner DeletePort-Funktion auf. Die von DeletePortUI empfangenen Argumente sind die von DeletePort empfangenen Argumente. (Die DeletePort-Funktion wird in der Microsoft Windows SDK-Dokumentation beschrieben.)

Die Funktion sollte die folgenden Vorgänge ausführen:

  1. Rufen Sie OpenPrinter auf, und geben Sie einen Druckernamen im folgenden Format an:
    \\ServerName\,XcvPortPortName

    wobei ServerName und PortName die Server- und Portnamen sind, die als DeletePortUI-Funktionsargumente empfangen werden.

    Der Aufruf von OpenPrinter erfordert eine PRINTER_DEFAULTS-Struktur, die in der Windows SDK-Dokumentation beschrieben wird. Das DesiredAccess-Element der Struktur muss auf SERVER_ACCESS_ADMINISTER festgelegt werden. Die pDatatype - und pDevMode-Member können NULL sein.

    Dieser Aufruf bewirkt, dass die XcvOpenPort-Funktion der Druckmonitorserver-DLL aufgerufen wird.

  2. Rufen Sie XcvData auf, und geben Sie die folgenden Eingabeargumente an:
    • Das von OpenPrinter empfangene Handle
    • Der Portname, der als Funktionsargument empfangen wird
    • Eine Datennamenzeichenfolge von "DeletePort"

    Dieser Aufruf bewirkt, dass die XcvClosePort-Funktion der Server-DLL aufgerufen wird.

  3. Wenn eine Benutzerinteraktion erforderlich ist, rufen Sie Informationen vom Benutzer ab, indem Sie ein Dialogfeld anzeigen, und rufen Sie dann XcvData auf, indem Sie benutzerdefinierte Datennamenzeichenfolgen angeben, um die Informationen an die Server-DLL zu senden. Der XcvData-Aufruf bewirkt, dass die XcvDataPort-Funktion des Servers aufgerufen wird.
  4. Rufen Sie ClosePrinter auf, und geben Sie das von OpenPrinter empfangene Handle an. Dadurch wird die XcvClosePort-Funktion der Server-DLL aufgerufen.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile winsplp.h (einschließlich Winsplp.h)

Weitere Informationen

XcvClosePort

XcvData

XcvDataPort

XcvOpenPort