Функция ConfigurePortUI (winsplp.h)
Библиотека 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. Если операция не поддерживается или отменена пользователем (путем нажатия кнопки CANCEL или нажатием кнопки OK без изменения параметров конфигурации), функция должна вызывать SetLastError(ERROR_CANCELLED), а затем вернуть FALSE.
Замечания
Библиотеки DLL мониторинга портов требуются для определения функции ConfigurePortUI и включения адреса функции в структуру MONITORUI.
Вызовы spooler клиента ConfigurePortUI из функции ConfigurePort (описаны в документации по пакету SDK для Microsoft Windows). Аргументы, полученные ConfigurePortUI, являются аргументами, полученными ConfigurePort.
Функция должна выполнять следующие операции:
-
Вызов OpenPrinter, указав имя принтера со следующим форматом:
- \\ ServerName\,XcvPortPortName
где ServerName и PortName — это имена серверов и портов, полученные в качестве аргументов функции ConfigurePortUI.
Для вызова OpenPrinter требуется структура PRINTER_DEFAULTS, описанная в документации по пакету SDK для Windows. Элемент DesiredAccess структуры должен иметь значение SERVER_ACCESS_ADMINISTER. Его элементы pDatatype и pDevMode могут быть null.
Этот вызов приводит к вызову функции XcvOpenPort сервера монитора печати.
- Получите параметры конфигурации порта от пользователя, отображая диалоговое окно.
- Вызов XcvData один или несколько раз, указав настраиваемые строки имен данных, чтобы отправить каждый параметр конфигурации в библиотеку DLL сервера. Каждый вызов XcvData приводит к вызову функции XcvDataPort сервера.
- Вызов ClosePrinter, указав дескриптор, полученный от OpenPrinter. Это приводит к вызову функции XcvClosePort библиотеки DLL сервера.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | winsplp.h (include Winsplp.h) |
библиотеки | NtosKrnl.exe |