Problem z otwarciem portu COM powyżej numeru 9

0

Jest taka funckcja sprawdzająca czy wybrany port COM istnieje w kompie:

int TPVFrame::PhysicalPortExists(int ACommNo){
    int Result;
    HANDLE  hComm;
    String tcom;
    tcom = "COM";
    tcom += (String) ACommNo;
    char *com = tcom.c_str();
    hComm = CreateFile( com,
                        GENERIC_READ | GENERIC_WRITE,
                        0,
                        0,
                        OPEN_EXISTING,
                        0,
                        0 );
    if(hComm != INVALID_HANDLE_VALUE)
    {
        CloseHandle(hComm);
        Sleep(10);
        Result = 1;
    } else
    {
        Result = 0;

    };
    return Result;
};

Problem polega na tym że metoda CreateFile zwraca INVALID_HANDLE_VALUE dla portów o numerze powyżej 9, czyli COM10,COM11,COM12. Porty te mam fizycznie w kompie na dodatkowej karcie firmy MOXA. Inne programy bez problemu otwieraja te porty i komunikują się z urządzeniami, natomiast moja fukcja przy CreateFile dla portu o numerze większym niż 9 zawsze zwraca hComm jako INVALID_HANDLE_VALUE. Porty 1-9 otwierane są bez problemu.
Co jest grane [???]

1 użytkowników online, w tym zalogowanych: 0, gości: 1