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)
NtosKrnl.exe

另请参阅

GetPrinterDataFromPort

SetPortTimeOuts

ClosePort

StartDocPort

OpenPortEx

InitializePrintMonitor2

WritePort

EndDocPort

ReadPort