GetPrinter功能检索有关指定打印机的信息。
BOOL GetPrinter(
HANDLE 【hPrinter】, | //处理感兴趣的打印机 |
DWORD 【水平】, | //打印机信息数据结构版本 |
LPBYTE 【pPrinter】, | //指向接收打印机信息的字节数组的指针。结构体 |
DWORD 【cbBuf】, | //字节数组的大小(以字节为单位) |
LPDWORD 【pcbNeeded】 | //指向变量的指针,其数量被检索(或必需) |
); |
参数
【hPrinter】
处理感兴趣的打印机
【水平】
指定函数存储到【pPrinter】指向的缓冲区中的PRINTER_INFO_*结构的级别或类型。
Windows 95:此值可以是1,2或5。
Windows NT:此值可以是1,2,3,4或5。
【pPrinter】
指向接收PRINTER_INFO_*结构的缓冲区的指针。此结构包含有关指定打印机的信息。结构类型由【水平】的值决定。
Windows 95:缓冲区可以接收PRINTER_INFO_1 PRINTER_INFO_2 PRINTER_INFO_5结构。
Windows NT:缓冲区可以接收PRINTER_INFO_1,PRINTER_INFO_2,PRINTER_INFO_3,PRINTER_INFO_4或PRINTER_INFO_5结构。
【cbBuf】
指定【pPrinter】指向的缓冲区的大小(以字节为单位)。
【pcbNeeded】
指向一个变量的指针,该变量的功能设置为打印机信息的字节大小。如果【cbBuf】小于此值,GetPrinter将失败,该值表示所需的缓冲区大小。如果【cbBuf】等于或大于此值,则GetPrinter成功,该值表示存储在缓冲区中的字节数。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
如果【pPrinter】参数指向的缓冲区中返回的结构包含指向安全描述符的指针,那么只有调用者有权读取的安全描述符的那些组件才会出现。想要检索特定安全描述符组件的应用程序必须以足够的访问权限打开打印机。下表显示了针对特定访问权限值检索的安全描述符组件:
访问权限 | 检索到安全描述符组件 |
READ_CONTROL | 所有者,主要组,任意访问控制列表(ACL) |
ACCESS_SYSTEM_SECURITY | 系统ACL |
也可以看看
AbortPrinter, AddPrinter, ClosePrinter, DeletePrinter, EnumPrinters, PRINTER_INFO_1, PRINTER_INFO_2, PRINTER_INFO_3, PRINTER_INFO_4, PRINTER_INFO_5, OpenPrinter, SetPrinter