-
February 2nd, 2004, 02:03 AM
#1
DocumentProperties() fails
hi. I have an MFC based app which uses a printer to print.
After install printer named "HP Lazer Jet 4000 PCL 6".
When I print it with "Test Page", the page can be printed out successfully( or by other program such as word 2000 ). So I think
the printer is installed properly.
But In my app I will use this printer to print pages.
Code:
CDC * CreatePrinterDC( LPCTSTR lpszPrinter )
{
HANDLE hPrinter = NULL ;
if (!OpenPrinter((LPTSTR)lpszPrinter , &hPrinter, NULL))
return NULL;
DWORD dwErr = GetLastError() ; // dwErr == 0
// A zero for last param returns the size of buffer needed.
// Get the printer settings and reset with default values.
int nSize = DocumentProperties(NULL, hPrinter, (LPTSTR)
lpszPrinter , NULL, NULL, 0);
dwErr = GetLastError() ; // dwErr == 6
if(nSize < 0)
{
ClosePrinter( hPrinter ) ;
return NULL;
}
// other codes for set the default behaviors for this
// printer and return the printer DC.
}
From MSDN, "6" means the handle is Invalid, But the function call
OpenPrinter() succeeds.
I don't the reason. who has ideas ?
wxuf
Waiting OFFERS from CMU, UMass, UC Davis, OSU
Mail to me
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|