Hi Aaron. I'm Aaron as well
Anywho, that's quite the question and depending on exactly how deep you want to get, this could turn into a novel of an answer. Unfortunately, I'm in school myself and have my own homework so I'm not going to write a novel, but I'll try to cover some of the basics.
Man where to start...
So the application that you're printing from is going to determine at least the first few steps of this.
The application is running in Memory. As far as a Memory Manager, I didn't know Windows had one (bazinga!)... j/k. The memory manager is responsible for controlling which information exists in your RAM at any given point. You have only so much RAM available, so the goal of the Memory Manager is to keep process information in memory that is being actively used and purge information that is no longer needed. The joke above is because Windows freakin sucks at managing the memory allocation.
Keeping memory in RAM allows for much quicker processing as the physical communication path between the CPU and RAM is much faster than the physical communication path between the CPU and the HD (Hence the implementation of RAM and the need for more and more of it).
The application is going to call a predefined Print function within Windows.
So you click "Print." The Windows environment is going to assemble a file within memory (and as a file located in C:\Windows\System32\spool\PRINTERS (which is where the File Manager comes in, although kind of useless)) based on the driver information you installed with the printer. The printer drivers direct Windows to construct the print job according the specifications that were imprinted in the firmware of the Printer itself. Firmware is the programming the directs workflow of the hardware itself. Drivers are more or less 'translators' from your Windows environment and/or software packages to the physical handling of the packets by the device.
Within the Kernel of Windows (the core of the operating environment and code), you have already configured a 'default printer.' The default printer configuration is going to contain the device that is used to 'Print' along with the physical path along your hardware (routed by your [Hardware] I/O manager (most likely your motherboards "South Bridge")) which is also logically defined in the [Software] I/O manager.
Once the file is assembled, a Windows process direct the CPU to physically send the packet to the printer, which is then interpreted by the Printer's firmware which directs the printhead where to spit ink onto the paper. This is all based off the construction of the 'packet' that was sent to the printer.
This is kind of garbled I know, but it gets so much deeper than what I just wrote.
Does that make sense?