Since you mention "an LED," and a parallel port, I assume you're tinkering with physical hardware. As of NT4 and 98SE, Windows added a Virtual Device Manager layer in the executive between programs and hardware. It's much more difficult to bit-bang to physical hardware than before. I/O instructions like "in" and "out" no longer write directly to the port. It WAS a lot easier in the DOS days.
Some things are fairly straightforward, like getting to RTS/CTS and DSR/DTR bits on a serial port via the MSCOMM.DLL package. Just don't expect reliable real-time performance when you do. You can blink and read Morse Code, for example, but don't think you'll be able to bit-blast a 100kHz burst pattern for X10 emulation accurately at zero-crossing through most Windows tools.
If you're just trying to print something to a parallel port, just open the printer as a stream i/o device and "printf" to it. If you want to light a couple of LED's, I'd suggest putting them on the serial port (or just watch the lights on an external modem.) For much beyond that, get an I/O board with a Mfgr's driver interface to C, or get ready to write your own replacement port driver, a task NOT for newbies. ;-)
Howrd