Urgent :Printer Status in PRINTER_INFO_2
-
#include "Windows.h" #include "WinSpool.h" #include "Winbase.h" char* cube() { char buff[1024]; GetProfileString("PrinterPorts",NULL,NULL,buff,sizeof(buff)); int length,j; length=strlen(buff); char *token; char sep[]="|"; for (j=0;j<1024;j++) { if(buff[j]==NULL) buff[j]='|'; } token = strtok( buff,sep); j=0; HANDLE hPrinter=NULL; PRINTER_INFO_2 *ppi2 = NULL; BOOL bFlag; unsigned long dwNeeded; DWORD dWord; long Status; char *portnumber,*strName; //DWORD dError; while( token != NULL ) { bFlag=OpenPrinter(token,&hPrinter,NULL); dWord=GetLastError(); if(bFlag==1) { bFlag= GetPrinter(hPrinter,2,0 ,0,&dwNeeded); ppi2 = (PRINTER_INFO_2 *)GlobalAlloc(GPTR, dwNeeded); bFlag= GetPrinter(hPrinter,2,(LPBYTE)ppi2 ,dwNeeded,&dwNeeded); if (bFlag==1) { return token; Status=1; Status=ppi2->Status; portnumber=ppi2->pPortName; strName=ppi2->pShareName; //dError=GetLastError(); ClosePrinter(hPrinter); exit(0); } } // SetDefaultPrinter(token); token = strtok( NULL, sep); ClosePrinter(hPrinter); } token=NULL; return token; } Hi can any one tell me whts wrong with the code. the status returned by PRINTER_INFO_2 is 0 every time. while the OpenPrinter and GetPrinter are returning 1 meaning successfully returning values of the printer. i dont no why everytime status is 0. can any body help me out. waiting for swift reply