I was having an interesting problem attempting to print from my laptop running PCLinuxOS to a printer connected to a computer running Windows Vista Home Edition, and these are the steps I took to fix the issue.
After connecting my HP Deskjet D2445 printer to my wifes Vista computer, I went in to the network settings and enabled print sharing.
I won't go in to details on how this is done unless someone requests it.
I used KCC -> Peripherals -> Printers. Through the "Add Printer" I went through the steps to configure an SMB print share.
When it came time to test the printer, the print spooler on my wife's machine showed the job in the queue, but it would hang showing only 64kb printed yet nothing came through the printer.
After using google and reading about many people having the same problem with no positive results, I found a few tips that I took from a couple of different pages.
The following tip assumes the printer is connected to a machine running Vista, I don't have immediate access to an XP machine to do any kind of intelligent walk through.
On the XP machine:
Open the Control Panel then open "Printers"
Right click on the printer you want to configure -> Run ss Administrator -> Properties
A message box should appear confirming you want to run as administrator, click -> Continue
A multi tab dialog box will appear.
Choose the tab titled -> Ports
Uncheck the box labeled "Enable bidirectional support"
Choose the tab titled -> Advanced
Choose the radio option -> Start printing after last page is spooled
Once that was done I had no problems printing to her printer from my laptop.
I hope this helps somebody. I know I was on the verge of pulling out my hair trying to fix this. I don't need an more reasons to hate Windows, but today my reasons increased by 1.