Wat een onzin.
[google=serial port C++]
Het komt er op neer dat je naar het juiste adres (bijv. 0x3F8 + 4 voor COM1) een bepaalde waarde tussen 0x00 en 0xFF schrijft. Die waarde is de binaire representatie van de pinnetjes: een 1 is aan, een 0 is uit. Dat is even vogelen hoe dat uitkomt met je pinnetjes, maar eigenlijk zo gebeurd.
Ik heb zo even geen werkende code meer liggen, maar daar hadden we dus google al voor
[edit]
Ok, een "maar": een aantal pinnen hebben een vaste functie (CTS, DTR, etc.) en er zijn er maar twee bedoeld voor data (serieel...

). Die andere pinnen kan je echter wel hoog en laag maken, dus zou het moeten werken. Zoek wel even op wat de max. belasting van die poort is: een motortje kan al makkelijk te veel trekken. Zet er een relais tussen, dan gaat het zowieso goed/beter.