Форум — Ответы ( К темам )
? | SCARFACE: RASEnumConnections и WIN98 (07-05-2003 13:18:18) |
Help, please!!! Есть такой код: const unsigned long MaxEnt = 100; unsigned long BufSize; unsigned long NumEntries; unsigned long ErrCode; RASCONN Entries[MaxEnt]; ZeroMemory(&Entries,sizeof(Entries)*MaxEnt); Entries[0].dwSize = sizeof(RASCONN); BufSize = sizeof(RASCONN)*MaxEnt; ErrCode = RasEnumConnections(&Entries[0],&BufSize,&NumEntries); Функция в Win98 возвращает ERROR_BUFFER_INVALID, хоть убей... Подскажите, что делать, уж больно горит !! | |
Andrew (08-05-2003 15:31:54) | |
У меня в W2K при отсутствии соединений все работае, а при наличии более одного - ERROR_BUFFER_TOO_SMALL, но если написать RasEnumConnections(Entries,&BufSize,&NumEntries) то опять все работает. и в строке ZeroMemory наверное должно быть так: ZeroMemory(&Entries, sizeof(RASCONN)*MaxEnt) или переставив ее ниже строки BufSize = ... можно получить ZeroMemory(&Entries, BufSize); | |
Alex (08-05-2003 16:54:55) | |
const unsigned long MaxEnt = 100; RASCONN rasconn[MaxEnt]; unsigned long BufSize; unsigned long Connections; BufSize = sizeof(RASCONN)*MaxEnt; ZeroMemory(rasconn, BufSize); rasconn[0].dwSize = sizeof(RASCONN); int err = RasEnumConnections(&rasconn[0],&BufSize,&Connections); if(err == 0){ ShowMessage("Connections: "+IntToStr(Connections)); for(int i=0; i<(int)Connections; i++){ ListBox1->Items->Add(AnsiString(rasconn[i].szEntryName)); } }else ShowMessage("Error: "+IntToStr(err)); |