или перебирать по очереди все, типа int nPorts = 0; for(int n=1; n<9; n++) { err = CreateFile(..."\\\\.\\COMn"...) if(err != INVALID_HANDLE_VALUE) nPorts++ }