This link[
^] includes a number of methods of enumerating serial ports (or other things masquerading as such). Some of these should be accessible from "plain old" C - just look for the underlying Win API calls.
Good luck!
ps One Vista gotcha I found, is that to access COM10 to COM255 (i.e. >1 digit numbers), you need Administrator rights to use the "\\.\COM
nn" form. This form is required (at least on XP and later) to access anything after COM9. Don't know about Weven, but judging from M$s non-response to my bug report, I'd guess it behaves like Vista.