Somewhat complex question, but as some basics... If you have samba already setup and running sharing files, you're most of the way there. By default most samba installs include a section like this:
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
That shares all available printers...
Some caveats..
If you create a printer while Samba is running you usually have to restart samba so it will pick up the new printer.
Use "testparm" to view the entire samba config.
Check smb.conf to see if you have a [printers] section.
Try "smbclient -L localhost" to poll your own machine and see what shares there are.
Printer drivers are a whole other ball of wax though. Never done it, tried once for 15 minutes, gave up

I hear Samba 3 makes this quite a bit easier though.