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