Freigeben über


DeletePortUI-Funktion (winsplp.h)

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

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

Vom Aufrufer bereitgestellte Handle des Fensters, das als übergeordnetes Element für Dialogfelder verwendet werden soll. Wenn 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 wird oder nicht unterstützt wird, sollte die Funktion SetLastError(ERROR_CANCELLED) aufrufen, und dann FALSE-zurückgeben.

Bemerkungen

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

Der Spooler ruft DeletePortUI- innerhalb der DeletePort--Funktion auf. Die von DeletePortUI empfangenen Argumente sind die Argumente, die von DeletePort-empfangen werden. (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 mit dem 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. Der DesiredAccess Member 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 des Druckmonitorservers aufgerufen wird.

  2. Rufen Sie XcvData-auf, und geben Sie die folgenden Eingabeargumente an:
    • Das handle, das von OpenPrinter
    • Der portname, der als Funktionsargument empfangen wurde
    • 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 dann XcvData-aufrufen und 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 OpenPrinterempfangene Handle an. Dies bewirkt, dass die XcvClosePort--Funktion der Server-DLL aufgerufen wird.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- winsplp.h (include Winsplp.h)

Siehe auch

XcvClosePort

XcvData-

XcvDataPort-

XcvOpenPort-