DeletePortUI 函数 (winsplp.h)
端口监视器 UI DLL 的 DeletePortUI 函数删除打印机端口。
语法
BOOL DeletePortUI(
[in, optional] PCWSTR pszServer,
[in] HWND hWnd,
[in] PCWSTR pszPortName
);
参数
[in, optional] pszServer
调用方提供的指向表示服务器名称的字符串的指针;如果打印机是本地打印机,则 NULL。 (端口监视器可以忽略此参数。
[in] hWnd
应用作对话框的父窗口的调用方提供的句柄。 如果 NULL,则不应显示任何对话框。
[in] pszPortName
调用方提供的指向表示要删除的端口名称的字符串的指针。
返回值
如果作成功,函数应返回 true 。 否则,它应返回 FALSE。 如果用户取消作或不受支持,则该函数应调用 SetLastError(ERROR_CANCELLED),然后返回 FALSE。
言论
需要端口监视器 UI DLL 才能定义 DeletePortUI 函数,并将函数的地址包含在 MONITORUI 结构中。
后台处理程序从其 DeletePort 函数中调用 DeletePortUI。 DeletePortUI 接收的参数是由 DeletePort接收的参数。 (Microsoft Windows SDK 文档中介绍了 DeletePort 函数。
该函数应执行以下作:
-
调用 OpenPrinter,指定采用以下格式的打印机名称:
- \\ ServerName\,XcvPortPortName
其中,ServerName 和 PortName 是作为 DeletePortUI 函数参数接收的服务器和端口名称。
调用 OpenPrinter 需要一个PRINTER_DEFAULTS结构,该结构在 Windows SDK 文档中介绍。 必须将结构的 DesiredAccess 成员设置为SERVER_ACCESS_ADMINISTER。 其 pDatatype 和 pDevMode 成员可以 NULL。
此调用会导致打印监视器服务器 DLL 的 XcvOpenPort 函数被调用。
-
调用 XcvData,并指定以下输入参数:
- 从 OpenPrinter 接收的句柄
- 作为函数参数接收的端口名称
- “DeletePort”的数据名称字符串
此调用会导致调用服务器 DLL 的 XcvClosePort 函数。
- 如果需要用户交互,请通过显示对话框从用户获取信息,然后调用 XcvData(指定自定义的数据名称字符串)将信息发送到服务器 DLL。 XcvData 调用会导致调用服务器的 XcvDataPort 函数。
- 调用 closePrinter ,指定从 OpenPrinter接收的句柄。 这会导致调用服务器 DLL 的 XcvClosePort 函数。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | winsplp.h (包括 Winsplp.h) |