Du kannst per
NtQuerySystemInformation sämtliche geöffneten Handles eines Prozesses enumerieren. Zusätzlich gibt es dann Informationen, um welche Art von
Handle (Datei, Prozess, Thread, etc.) es sich handelt. Danach obliegt es allerdings dir, wie du das
Handle eindeutig identifizierst. Bei Dateien ist es relativ einfach den Dateinamen per
Handle zu ermitteln. Ich weiß allerdings grade nicht, ob die
COM Ports auf top level ebenfalls (in der Art von Pipes) als "Datei" klassifiziert sind.
Edit:
http://forum.sysinternals.com/howto-...opic18892.html