Convert C++/CLI code to Visual Studio 2002 Managed C++
-
Can I help to convert the next C++/CLI code to Visual Studio 2002 Managed C++?
bool IsPrinterOk(String ^printerName)
{
bool bResult=false;
HANDLE hPrinter;IntPtr pPrinterName=Marshal::StringToHGlobalUni(printerName); WCHAR \*pChar=(WCHAR \*)pPrinterName.ToPointer(); if(::OpenPrinter(pChar,&hPrinter,NULL)==0) return false; DWORD bytesNeeded; ::GetPrinter(hPrinter,2,0,0,&bytesNeeded); PRINTER\_INFO\_2 \*pf=(PRINTER\_INFO\_2 \*)GlobalAlloc(GPTR,bytesNeeded); if(::GetPrinter(hPrinter,2,(LPBYTE)pf,bytesNeeded,&bytesNeeded)!=0) if(pf->cJobs==0 && pf->Status==0) bResult=true; GlobalFree(pf); ClosePrinter(hPrinter); return bResult;
}
What changes must be made in the code? Thanks.
-
Can I help to convert the next C++/CLI code to Visual Studio 2002 Managed C++?
bool IsPrinterOk(String ^printerName)
{
bool bResult=false;
HANDLE hPrinter;IntPtr pPrinterName=Marshal::StringToHGlobalUni(printerName); WCHAR \*pChar=(WCHAR \*)pPrinterName.ToPointer(); if(::OpenPrinter(pChar,&hPrinter,NULL)==0) return false; DWORD bytesNeeded; ::GetPrinter(hPrinter,2,0,0,&bytesNeeded); PRINTER\_INFO\_2 \*pf=(PRINTER\_INFO\_2 \*)GlobalAlloc(GPTR,bytesNeeded); if(::GetPrinter(hPrinter,2,(LPBYTE)pf,bytesNeeded,&bytesNeeded)!=0) if(pf->cJobs==0 && pf->Status==0) bResult=true; GlobalFree(pf); ClosePrinter(hPrinter); return bResult;
}
What changes must be made in the code? Thanks.
goncri wrote:
What changes must be made in the code?
Try compiling it and see what errors or warnings you receive.
Unrequited desire is character building. OriginalGriff I'm sitting here giving you a standing ovation - Len Goodman
-
Can I help to convert the next C++/CLI code to Visual Studio 2002 Managed C++?
bool IsPrinterOk(String ^printerName)
{
bool bResult=false;
HANDLE hPrinter;IntPtr pPrinterName=Marshal::StringToHGlobalUni(printerName); WCHAR \*pChar=(WCHAR \*)pPrinterName.ToPointer(); if(::OpenPrinter(pChar,&hPrinter,NULL)==0) return false; DWORD bytesNeeded; ::GetPrinter(hPrinter,2,0,0,&bytesNeeded); PRINTER\_INFO\_2 \*pf=(PRINTER\_INFO\_2 \*)GlobalAlloc(GPTR,bytesNeeded); if(::GetPrinter(hPrinter,2,(LPBYTE)pf,bytesNeeded,&bytesNeeded)!=0) if(pf->cJobs==0 && pf->Status==0) bResult=true; GlobalFree(pf); ClosePrinter(hPrinter); return bResult;
}
What changes must be made in the code? Thanks.
Are you sure you want 2002 Managed C++? The pre-CLI managed C++ syntax was a failed experiment - the syntax was available only for a short time and it was quickly superceded by C++/CLI (even C++/CLI is not commonly used).
David Anton Convert between VB, C#, C++, & Java www.tangiblesoftwaresolutions.com