OK - all the answer posts on HP sites, Experts Exchange and MS have been a joke to this problem so far. HP 10xx series LaserJet printers do not work (well) in a shared environment. I have found two solutions to this problem. If you really don't understand shares/printing/services/firewall exceptions - don't bother trying this - buy a networked printer when the toner runs out of the HP10xx.If you want to spend a few hours or about $100 for a print server/NAS device, read on... I HAVE an HP1022 shared on a Windows XP Pro SP3 machine serving as a print server to a Vista laptop, a Windows 7 desktop and a Mac-Mini running OS X 10.6.x. ALL are working.
1. Buy a network print server device (or a NAS device with an included print server - I picked up a Buffalo LS-CHL 1TB and it worked out of the box. I AM NOT ENDORSING BUFFALO NAS servers, they get horrible reviews and you may end up having the same problem down the road due to the NAS device) In this case, your print clients (Win7, Vista, XP, MacOS X) can use a traditional SMB Windows client to print or the BETTER solution is to use the print services for Unix client that comes with Windows but is not installed by default. Both clients work, you may have fewer problems down the road using the Unix (LPR) client. See http://www.alexfalkenberg.com/2009/10/06/linkstation-windows-printing-problem-solved/
This is an excellent article on the Buffalo - BUT THE SOLUTION works in a native windows environment as well.
2. Build on the idea from number 1 above and INSTALL the LPDSVC (friendly name TCP/IP print services) on the machine with the printer LOCALLY attached through USB. You will also have to open up some firewall ports on the machine you are using as a print server if you have one running... I used a program exception (C:\WINDOWS\system32\tcpsvcs.exe) but you could lock this down to 1 TCP port if you wish - I think TCP 515 but you'd better check on this one...) Share the printer as normal. Next install the "Print Services for Unix" CLIENT on the machines you want to connect to the printer remotely from. When you connect to the printer share from the clients, select a LOCAL port, create a NEW PORT, select LPR, use the hostname or the IP of your machine acting as a print server and the NAME OF THE SHARE as the queue. (I don't like to have spaces in my share names, so I used HPLaserJet when I set up the share and description.) You will HAVE TO INSTALL THE RIGHT Printer driver locally on each client. This might be easiest just plugging in the printer with a USB cable since the HP printer driver is an installer as well and wants it to be connected locally unless you can extract the driver...)
Sorry I can't give more details than this. If you don't get the jist of what I am saying above. Don't try it. Give up and call the plumber.