Функция SetPort

Функция SetPort задает состояние, связанное с портом принтера.

Синтаксис

BOOL SetPort(
  _In_ LPTSTR pName,
  _In_ LPTSTR pPortName,
  _In_ DWORD  dwLevel,
  _In_ LPBYTE pPortInfo
);

Параметры

pName [in]

Указатель на строку с нулевым завершением, указывающую имя сервера принтера, к которому подключен порт. Присвойте этому параметру значение NULL , если порт находится на локальном компьютере.

pPortName [in]

Указатель на строку с нулем, которая указывает имя порта принтера.

dwLevel [in]

Указывает тип структуры, на которую указывает параметр pPortInfo .

Это значение должно быть равно 3, что соответствует PORT_INFO_3 структуре данных.

pPortInfo [in]

Указатель на структуру PORT_INFO_3 , содержащую сведения о состоянии порта для задания.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет ненулевым.

Если функция выполняется неудачно, возвращается нулевое значение.

Комментарии

Примечание

Это блокирующая или синхронная функция, возвращаемая не сразу. Скорость возврата этой функции зависит от факторов времени выполнения, таких как состояние сети, конфигурация сервера печати и факторы реализации драйвера принтера, которые трудно предсказать при написании приложения. Вызов этой функции из потока, который управляет взаимодействием с пользовательским интерфейсом, может привести к тому, что приложение не отвечает.

Вызывающий объект функции SetPort должен выполняться от имени администратора. Кроме того, если вызывающий объект является монитором портов или языковым монитором, он должен вызвать RevertToSelf , чтобы прекратить олицетворение перед вызовом SetPort.

Все программы, вызывающие SetPort , должны иметь SERVER_ACCESS_ADMINISTER доступ к серверу, к которому подключен порт.

При установке значения состояния порта принтера со значением серьезности PORT_STATUS_TYPE_ERROR очередь печати печати прекращает отправку заданий на этот порт. Очередь печати печати возобновляет отправку заданий на порт, когда состояние порта очищается другим вызовом SetPort.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winspool.h (включая Windows.h)
Библиотека
Winspool.lib
DLL
Winspool.drv
Имя в кодировке Юникод и ANSI
SetPortW (Юникод) и SetPortA (ANSI)

См. также раздел

Вывод на печать

Функции API очереди печати принтера

PORT_INFO_3