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:
-
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.
-
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.
- 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.
- 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) |