From: Dave Burns on 12 Nov 2008 12:46 Finally got it compiled by correcting the code that caused the warnings, but still don't know why it still thinks I'm "treating warning" as error. At the end of the linking, I got the following error: Linking Executable - objfre_wlh_x86\i386\ccdxpvista.dll errors in directory c:\houyaocode\prismprinter\ccdvista link : error LNK1104: cannot open file 'CCDXPVISTA.prf' BUILD: Finish time: Wed Nov 12 11:25:26 2008 BUILD: Done 6 files compiled - 1 Warning 1 library built 1 executable built - 1 Error What is a .PRF file? Any idea? Regards, Dave.
From: Tim Roberts on 13 Nov 2008 00:03 "Dave Burns" <dburns(a)newsgroup.nospam> wrote: > >Finally got it compiled by correcting the code that caused the warnings, but >still don't know why it still thinks I'm "treating warning" as error. The stock makefile automatically selects /WX unless you specifically override it by setting BUILD_ALLOW_COMPILER_WARNINGS=1 Howver, the path YOU took is the better one: fix the warnings. >Linking Executable - objfre_wlh_x86\i386\ccdxpvista.dll >errors in directory c:\houyaocode\prismprinter\ccdvista >link : error LNK1104: cannot open file 'CCDXPVISTA.prf' >BUILD: Finish time: Wed Nov 12 11:25:26 2008 >BUILD: Done > > 6 files compiled - 1 Warning > 1 library built > 1 executable built - 1 Error > >What is a .PRF file? Any idea? Do you know that you have the full source for the makefile used by "build" in the DDK in bin\makefile.new? The .PRF file is a profile input. Your sources file includes NTPROFILEINPUT=yes That tells it to try to do profiling. That's the danger of working with a "sources" file without understanding what the settings do. -- Tim Roberts, timr(a)probo.com Providenza & Boekelheide, Inc.
From: Dave Burns on 13 Nov 2008 13:38 Thank you, Tim and Christoph. I added the BUILD_ALLOW_COMPILER_WARNINGS line, and the "warning as error" messages went away. I know I should fix the problems, but it's nice to know why. Now I can actually install the printer, but it would not print. I suspect there might be something wrong in my .INF file: [MyCompany] %String_MODEL%=RIMCCD.Install,USBPRINT\VID_047E&PID_1001,Rimage_Perfect_Image_Printer_PF ;%String_MODEL%=RIMCCD.Install,USBPRINT\Rimage_Perfect_Image_Printer_PF In my other driver (which I did not start), I actually have a 4-digit hex number attached to Rimage_Perfect_Image_Printer_PF, like Rimage_Perfect_Image_Printer_PF XXXX, I believe it's the checksum of the string "Rimage_Perfect_Image_Printer_PF". But I don't know how that checksum is calculated. Any idea on how that number is calculated? Another suspect is that the DrvConvertDevMode() is not returning TRUE. The version conversion is quite confusing, our DRIVER_VERSION_INFO data is defined like this: static DRIVER_VERSION_INFO psDriverVersions = { //defined in plotlib.h/used by devmode.c // Current driver version number and private devmode size DRIVER_VERSION, sizeof(CDDEVMODE)-sizeof(DEVMODE), // 3.51 driver version number and private devmode size DRIVER_VERSION_351, sizeof(CDDEVMODE)-sizeof(DEVMODE)-sizeof(BOOL), }; Note that CCDSVMODE is our private DEVMODE. Am I doing something wrong? When I try to print, I can see from debugging messages that it's actually calling some routines in my driver, but never prints anything out. Any directions will be appreciated. Dave
From: Christoph Lindemann on 17 Nov 2008 04:44 For the device id check: http://msdn.microsoft.com/en-us/library/ms791081.aspx and http://msdn.microsoft.com/en-us/library/ms802216.aspx Hey, why not read the complete "Installing and Configuring Printer Drivers" section ;) http://msdn.microsoft.com/en-us/library/ms802217.aspx -- Christoph Lindemann Undocumented Printing http://www.undocprint.org/ "Dave Burns" <dburns(a)newsgroup.nospam> wrote in message news:Oreuq8bRJHA.5080(a)TK2MSFTNGP03.phx.gbl... > Thank you, Tim and Christoph. I added the BUILD_ALLOW_COMPILER_WARNINGS > line, and the "warning as error" messages went away. I know I should fix > the problems, but it's nice to know why. > > Now I can actually install the printer, but it would not print. I suspect > there might be something wrong in my .INF file: > > [MyCompany] > %String_MODEL%=RIMCCD.Install,USBPRINT\VID_047E&PID_1001,Rimage_Perfect_Image_Printer_PF > ;%String_MODEL%=RIMCCD.Install,USBPRINT\Rimage_Perfect_Image_Printer_PF > > In my other driver (which I did not start), I actually have a 4-digit hex > number attached to Rimage_Perfect_Image_Printer_PF, like > Rimage_Perfect_Image_Printer_PF > XXXX, I believe it's the checksum of the string > "Rimage_Perfect_Image_Printer_PF". But I don't know how that checksum is > calculated. Any idea on how that number is calculated? > > Another suspect is that the DrvConvertDevMode() is not returning TRUE. The > version conversion is quite confusing, our DRIVER_VERSION_INFO data is > defined like this: > > static DRIVER_VERSION_INFO psDriverVersions = { //defined in > plotlib.h/used by devmode.c > > // Current driver version number and private devmode size > DRIVER_VERSION, sizeof(CDDEVMODE)-sizeof(DEVMODE), > > // 3.51 driver version number and private devmode size > DRIVER_VERSION_351, sizeof(CDDEVMODE)-sizeof(DEVMODE)-sizeof(BOOL), > }; > > Note that CCDSVMODE is our private DEVMODE. > > Am I doing something wrong? > > When I try to print, I can see from debugging messages that it's actually > calling some routines in my driver, but never prints anything out. > > Any directions will be appreciated. > > Dave > >
From: Dave Burns on 18 Nov 2008 14:16 Thank you for your response. Now I'm able to install the printer successfully (at least apparently), but I still can't print anything yet. I can see the "Properties" pages and settings, but as soon as a document is sent to printer, it says "printer error". From Windows event viewer, I can see errors "Win32 error code returned by the print processor: 2. The system cannot find the file specified.", or error 6 (The handle is invalid). But the system does not give any more specific information about what "file" or what "handle". From the debug messages I put in the code, I can see it DrvEnablePDEV(), all OK; then DrvDeviceCapabilities(), all seem to be fine. Then the DLL (the GDI Graphic DLL) is unloaded. What are supposed to happen next? I thought the will be called, but apparently it never did. Are there any specific values of iDevCap of DrvDeviceCapabilities() that have to be processed for Vista? Currently, I'm handling DC_PAPERS, DC_MINEXTENT, DC_MAXEXTENT, DC_PAPERSIZE, DC_PAPERNAMES, DC_BINS, DC_BINNAMES, DC_FIELDS, DC_DUPLEX, DC_SIZE, DC_EXTRA, DC_VERSION (returning 0x401), DC_DRIVER (returning 0x501), DC_ENUMRESOLUTIONS, DC_FILEDEPENDENCIES, DC_TRUETYPE, DC_ORIENTATION and DC_COPIES. Am I missing something for Vista? Thanks, Dave "Christoph Lindemann" <clindemann2(a)newsgroups.nospam> wrote in message news:%23lBKGkJSJHA.4772(a)TK2MSFTNGP06.phx.gbl... > For the device id check: > http://msdn.microsoft.com/en-us/library/ms791081.aspx > and > http://msdn.microsoft.com/en-us/library/ms802216.aspx > > Hey, why not read the complete "Installing and Configuring Printer > Drivers" section ;) > http://msdn.microsoft.com/en-us/library/ms802217.aspx > > -- > Christoph Lindemann > Undocumented Printing > http://www.undocprint.org/ > > > "Dave Burns" <dburns(a)newsgroup.nospam> wrote in message > news:Oreuq8bRJHA.5080(a)TK2MSFTNGP03.phx.gbl... >> Thank you, Tim and Christoph. I added the BUILD_ALLOW_COMPILER_WARNINGS >> line, and the "warning as error" messages went away. I know I should fix >> the problems, but it's nice to know why. >> >> Now I can actually install the printer, but it would not print. I suspect >> there might be something wrong in my .INF file: >> >> [MyCompany] >> %String_MODEL%=RIMCCD.Install,USBPRINT\VID_047E&PID_1001,Rimage_Perfect_Image_Printer_PF >> ;%String_MODEL%=RIMCCD.Install,USBPRINT\Rimage_Perfect_Image_Printer_PF >> >> In my other driver (which I did not start), I actually have a 4-digit hex >> number attached to Rimage_Perfect_Image_Printer_PF, like >> Rimage_Perfect_Image_Printer_PF >> XXXX, I believe it's the checksum of the string >> "Rimage_Perfect_Image_Printer_PF". But I don't know how that checksum is >> calculated. Any idea on how that number is calculated? >> >> Another suspect is that the DrvConvertDevMode() is not returning TRUE. >> The version conversion is quite confusing, our DRIVER_VERSION_INFO data >> is defined like this: >> >> static DRIVER_VERSION_INFO psDriverVersions = { //defined in >> plotlib.h/used by devmode.c >> >> // Current driver version number and private devmode size >> DRIVER_VERSION, sizeof(CDDEVMODE)-sizeof(DEVMODE), >> >> // 3.51 driver version number and private devmode size >> DRIVER_VERSION_351, sizeof(CDDEVMODE)-sizeof(DEVMODE)-sizeof(BOOL), >> }; >> >> Note that CCDSVMODE is our private DEVMODE. >> >> Am I doing something wrong? >> >> When I try to print, I can see from debugging messages that it's actually >> calling some routines in my driver, but never prints anything out. >> >> Any directions will be appreciated. >> >> Dave >> >> > >
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 4 Prev: Blue screen with UMDF driver Next: Writes to storage on file reads |