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