关于打印机是否正常工作的GetPrinter有关问题

关于打印机是否正常工作的GetPrinter问题GetPrinter(hPrinter, 2, PrinterInfo(1), ByteBuf, _BytesNeeded

关于打印机是否正常工作的GetPrinter问题
GetPrinter(hPrinter, 2, PrinterInfo(1), ByteBuf, _
  BytesNeeded)
总是返回1
GetPrinter(hPrinter, 2, 0&, 0&, BytesNeeded)
总是返回0
无论卡纸、打印机门打开、断电与否,这样怎么判定打印机是否正常工作呢

[解决办法]
返回0,表示调用失败,你可以通过GetLastError函数看看返回的错误代码是什么,也许有用。

以下是GetPrinter的参数说明和定义
Public Declare Function GetPrinter Lib "winspool.drv" Alias "GetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Any, ByVal cbBuf As Long, pcbNeeded As Long) As Long


【操作系统】
Win9X:Yes
WinNT:Yes
【说明】
取得与指定打印机有关的信息 
【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError 
【其它】
只有在发出调用的应用程序有足够的权限时,PRINTER_INFO_x结构中的一些字段才能够被读取。这种权限由系统当前的安全设置决定
【参数表】
hPrinter ------- Long,一个已打开的打印机的句柄(用OpenPrinter获得)
Level ---------- Long,1,2,3(仅适用于NT),4(仅适用于NT),或者5(仅适用于Windows
95 和 NT 4.0)
pPrinter ------- Any,包含PRINTER_INFO_x结构的缓冲区。x代表级别
cbBuf ---------- Long,pPrinterEnum缓冲区中的字符数量
pcbNeeded ------ Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量