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


Функция OpenPort (winsplp.h)

Функция OpenPort монитора портов открывает порт принтера.

Синтаксис

BOOL OpenPort(
  LPWSTR  pName,
  PHANDLE pHandle
);

Параметры

pName

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

pHandle

Предоставленный вызывающим абонентом указатель на расположение для получения дескриптора порта.

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

Если операция выполнена успешно, функция должна вернуть значение TRUE. В противном случае он должен вернуть значение FALSE.

Комментарии

Библиотеки DLL сервера мониторинга портов необходимы для определения функции OpenPort и включения адреса функции в структуру MONITOR2 .

Функция OpenPort вызывается языковым монитором или диспетчером очереди печати при подключении очереди печати к порту. Основная цель функции OpenPort — возврат дескриптора порта, который вызывающий объект может использовать в качестве входного аргумента для последующих вызовов функций StartDocPort, WritePort, ReadPort, EndDocPort и GetPrinterDataFromPort монитора портов.

Помимо возврата дескриптора порта, функция OpenPort может выполнять операции инициализации, о которых необходимо позаботиться перед выполнением операций чтения или записи. Например, если порт поддерживает изменяемые значения времени ожидания, функция OpenPort должна задать эти значения.

Вызовы OpenPort не зависят от задания печати. Между каждым вызовом функций OpenPort и ClosePort монитора портов может быть несколько вызовов функций StartDocPort и EndDocPort .

Можно предположить, что после того, как диспетчер очереди печати вызвал OpenPort с определенным именем порта, он не будет повторно вызывать OpenPort с тем же именем порта перед вызовом ClosePort.

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

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть winsplp.h (включая Winsplp.h)
Библиотека NtosKrnl.exe

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

GetPrinterDataFromPort

SetPortTimeOuts

ClosePort

StartDocPort

OpenPortEx

InitializePrintMonitor2

WritePort

EndDocPort

ReadPort