鱼C论坛

 找回密码
 立即注册
查看: 4171|回复: 6

求大神解释下EnumPrinters函数的几个问题

[复制链接]
发表于 2016-3-2 00:12:43 | 显示全部楼层 |阅读模式
20鱼币
求大神帮我解释下EnumPrinters函数的几个问题
函数原形
BOOL EnumPrinters(  DWORD Flags, LPTSTR Name,   DWORD Level,   LPBYTE pPrinterEnum,  DWORD cbBuf, LPDWORD pcbNeeded,     LPDWORD pcReturned  );
      
       一、MSDN说该函数The EnumPrinters function enumerates available printers, print servers, domains, or print providers.
英语学得不好,我自己查翻译软件说这个函数枚举可用的打印机、打印服务器,域和打印提供者。后面这个域和打印提供者到底是指什么,我很迷茫。请大神指点下,谢谢
     二、关于Flags参数。MSDN上面列举了PRINTER_ENUM_LOCAL、PRINTER_ENUM_NAME、PRINTER_ENUM_SHARED、PRINTER_ENUM_DEFAULT、PRINTER_ENUM_CONNECTIONS、PRINTER_ENUM_NETWORK、PRINTER_ENUM_REMOTE等七个选择。请问PRINTER_ENUM_CONNECTIONS、PRINTER_ENUM_NETWORK 和 PRINTER_ENUM_REMOTE各有什么区别,个人感觉都是列举网络上的打印机,没发现区别?
    三、关于pcbNeeded参数。MSDN说这是参数pPrinterEnum指向的缓冲区的必需长度。而pPrinterEnum是指向结构体PRINTER_INFO数组的指针。我在测试时发现,其实pcbNeeded是能枚举到的打印机的个数,而不是缓冲区的长度,如果要确定缓冲区的长度,就应该使用sizeof(PRINTER_INFO)*pcbNeeded才行呀,可在<windows程序设计>一书里,真的只使用了malloc(pcbNeeded)来定义缓冲区。。。。。
求大神帮帮我!!!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-3-4 10:50:54 | 显示全部楼层
踩个水,不懂。。。

评分

参与人数 1荣誉 -1 鱼币 -1 收起 理由
无符号整形 -1 -1 请不要灌水

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-3-5 09:18:06 | 显示全部楼层
为神马还没有人来解决这个问题。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-6-27 21:52:01 | 显示全部楼层
网络的打印机不用你去关心啊,直接StartDoc操作系统就会自动帮你连接网络操作网络打印机
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-6-27 21:54:08 | 显示全部楼层
本帖最后由 无符号整形 于 2016-6-28 20:07 编辑

我个人的理解:工作组,域就是一个区域,里面有很多的多媒体设备和电脑。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-6-27 22:02:27 | 显示全部楼层
二、再说了,网络分为域 工作组等等等等,你究竟要访问哪个域(或工作组)的打印机呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-6-28 07:16:51 | 显示全部楼层
看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 17:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表