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 后,在调用 ClosePort 之前,它不会再次使用相同的端口名称调用 OpenPort。
接受端口句柄作为输入的打印监视器函数也不接受监视器句柄。 因此, OpenPort 函数必须将收到的监视器句柄存储在端口句柄可以引用的位置。 这允许接受端口句柄的函数引用监视器句柄。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | winsplp.h (包括 Winsplp.h) |
Library | NtosKrnl.exe |