获取打印机的状态,但是STATUS一直是0,该怎么处理

获取打印机的状态,但是STATUS一直是0
RT
像是
pPrinterInfo->pServerName;
pPrinterInfo->pPrinterName;
pPrinterInfo->pShareName;
pPrinterInfo->pPortName;
pPrinterInfo->pDriverName;
都是可以获得的

但是pPrinterInfo->dwStatus 一直是0


代码:
HANDLE hPrinter=0;   
DWORD dwNeeded=0;   
PRINTER_INFO_2* pPrinterInfo= (PRINTER_INFO_2 *)malloc( 0 ); 

::OpenPrinter("Samsung SCX-4200 Series",&hPrinter,NULL); 

if(!::GetPrinter(hPrinter,2,(LPBYTE)pPrinterInfo,0,&dwNeeded))
{
pPrinterInfo= (PRINTER_INFO_2 *)malloc( dwNeeded ); 
::GetPrinter(hPrinter,2,(LPBYTE)pPrinterInfo,dwNeeded,&dwNeeded); 

::ClosePrinter(hPrinter); 

也用过MSDN中的范例代码,但是一样的结果

望各位高手相助,我完全是半路出家,工作上急着要我又是一头雾水,所以来求助
拜托了!!!!!!!!!!!!!
------解决方案--------------------
也许是你这个Samsung SCX-4200 Series打印机驱动太旧,不支持提交其状态到应用层。
试试用“驱动精灵”看能不能升级这个打印机驱动。
或者打印机实际型号不是或不兼容Samsung SCX-4200 Series打印机驱动?
有条件的话,可以换个别的厂商的打印机试试。