Поделиться через


Функция 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.

Функция должна выполнять следующие операции:

  1. Вызов OpenPrinter, указав имя принтера со следующим форматом:
    \\ ServerName\,XcvPortPortName

    где ServerName и PortName — это имена серверов и портов, полученные в качестве аргументов функции ConfigurePortUI.

    Для вызова OpenPrinter требуется структура PRINTER_DEFAULTS, описанная в документации по пакету SDK для Windows. Элемент DesiredAccess структуры должен иметь значение SERVER_ACCESS_ADMINISTER. Его элементы pDatatype и pDevMode могут быть null.

    Этот вызов приводит к вызову функции XcvOpenPort сервера монитора печати.

  2. Получите параметры конфигурации порта от пользователя, отображая диалоговое окно.
  3. Вызов XcvData один или несколько раз, указав настраиваемые строки имен данных, чтобы отправить каждый параметр конфигурации в библиотеку DLL сервера. Каждый вызов XcvData приводит к вызову функции XcvDataPort сервера.
  4. Вызов ClosePrinter, указав дескриптор, полученный от OpenPrinter. Это приводит к вызову функции XcvClosePort библиотеки DLL сервера.

Требования

Требование Ценность
целевая платформа Настольный
заголовка winsplp.h (include Winsplp.h)
библиотеки NtosKrnl.exe

См. также

XcvOpenPort

XcvClosePort

XcvDataPort

XcvData