获取将文档发送至IPP打印机的实际用户

11

目前,我正在尝试以编程方式获取将打印作业发送到映射的IPP打印机的用户的名称。

我遇到了以下问题:JOB_INFO_2 结构的成员 pUserName 包含连接到 IPP 打印机的用户名,而不是本地启动打印作业的用户。

举个例子:

enter image description here

通过查看Microsoft 的 PrintMon 工具和打印队列,它们都显示相同的内容:

enter image description here

enter image description here

它们都显示“uwe_keim”是所有者,尽管其他用户启动了打印作业。

这似乎来自用于与 IPP 打印机进行身份验证的用户的连接凭据:

enter image description here

我真的不知道如何/是否有机会获取启动打印作业的实际用户(我需要这个功能在多用户终端环境中运行的应用程序)。

因此,总结我的问题:

如何获取启动打印作业的用户的名称?(与拥有打印作业的用户的名称相对)


1
给投票者的说明:在我看来,这是一个编程问题,尽管截图来自用户应用程序。我想知道调用哪些函数/方法以获取用户。 - Uwe Keim
1
请明确,无论谁在另一端,都拥有该机器的完全控制权,超出了您的视野。他们可能在撒谎,关于谁正在进行打印。 - vonbrand
我假设所有用户都使用相同的打印机设置,使用通用的打印服务器帐户来访问同一台打印机。看起来PrintMon只能访问ipp身份验证数据。所以我猜您的设置应该被更改。每个用户都应该在ipp打印服务器级别上进行单独认证。然后您应该获得不同的用户名。 - IPP Nerd
1个回答

0

请查看字段pNotifyName


谢谢,我刚刚尝试过了。不幸的是,在我的场景中,这个值总是NULL - Uwe Keim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接