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