ConfigurePortUI 函数 (winsplp.h)
端口监视器 UI DLL 的 ConfigurePortUI 函数从用户获取端口配置信息,并将其发送到端口监视器服务器 DLL。
语法
BOOL WINAPI pfnConfigurePortUI(
_In_opt_ 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 来定义 ConfigurePortUI 函数,并在 MONITORUI 结构中包含该函数的地址。
Microsoft Windows SDK文档) 中所述,客户端的后台处理程序从其 ConfigurePort 函数 (调用 ConfigurePortUI。 ConfigurePortUI 接收的参数是 ConfigurePort 接收的参数。
函数应执行以下操作:
-
调用 OpenPrinter,并使用以下格式指定打印机名称:
- \\ServerName\,XcvPortPortName
其中 ,ServerName 和 PortName 是作为 ConfigurePortUI 函数参数接收的服务器和端口名称。
调用 OpenPrinter 需要PRINTER_DEFAULTS结构,如Windows SDK文档中所述。 结构的 DesiredAccess 成员必须设置为 SERVER_ACCESS_ADMINISTER。 其 pDatatype 和 pDevMode 成员可以为 NULL。
此调用会导致调用打印监视器服务器 DLL 的 XcvOpenPort 函数。
- 通过显示对话框从用户获取端口配置参数。
- 调用 XcvData 一次或多次,指定自定义的数据名称字符串,以将每个配置参数发送到服务器 DLL。 每个 XcvData 调用都会导致调用服务器的 XcvDataPort 函数。
- 调用 ClosePrinter,指定从 OpenPrinter 接收的句柄。 这会导致调用服务器 DLL 的 XcvClosePort 函数。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | winsplp.h (包括 Winsplp.h) |
Library | NtosKrnl.exe |