OpenPort 函数 (winsplp.h)

端口监视器的 OpenPort 函数打开打印机端口。

语法

BOOL OpenPort(
  LPWSTR  pName,
  PHANDLE pHandle
);

参数

pName

调用方提供的指针,指向包含要打开的端口名称的字符串。

pHandle

调用方提供的指向要接收端口句柄的位置的指针。

返回值

如果操作成功,函数应返回 TRUE。 否则应返回 FALSE

注解

需要端口监视器服务器 DLL 来定义 OpenPort 函数,并将函数的地址包含在 MONITOR2 结构中。

当打印队列连接到端口时,由语言监视器或打印后台处理程序调用 OpenPort 函数。 OpenPort 函数的主要用途是返回一个端口句柄,调用方可以使用该句柄作为输入参数,以便后续调用端口监视器的 StartDocPortWritePortReadPortEndDocPortGetPrinterDataFromPort 函数。

除了返回端口句柄外, OpenPort 函数还可以执行需要在执行读取或写入操作之前处理的初始化操作。 例如,如果端口支持可修改的超时值, 则 OpenPort 函数应设置这些值。

OpenPort 的调用不是特定于打印作业的。 在每次调用端口监视器的 OpenPortClosePort 函数之间,可以有多个对其 StartDocPortEndDocPort 函数的调用。

可以假设打印后台处理程序使用特定端口名称调用 OpenPort 后,在调用 ClosePort 之前,它不会再次使用相同的端口名称调用 OpenPort

接受端口句柄作为输入的打印监视器函数也不接受监视器句柄。 因此, OpenPort 函数必须将收到的监视器句柄存储在端口句柄可以引用的位置。 这允许接受端口句柄的函数引用监视器句柄。

要求

要求
目标平台 桌面
标头 winsplp.h (包括 Winsplp.h)
Library NtosKrnl.exe

另请参阅

GetPrinterDataFromPort

SetPortTimeOuts

ClosePort

StartDocPort

OpenPortEx

InitializePrintMonitor2

WritePort

EndDocPort

ReadPort