Будем изменять свой RAS. Пока console позволяет почему бы нет.
void main() { RASDEVINFO rasinfo[20]; DWORD dSize,dNumber; dSize = sizeof(rasinfo); rasinfo[0].dwSize = sizeof(RASDEVINFO); if( RasEnumDevices(rasinfo, &dSize, &dNumber ) == 0 ) { for (DWORD x=0; x < dNumber;x++) { cout << rasinfo[x].szDeviceType << " " << rasinfo[x].szDeviceName << endl; } } getch(); }
Мы будем получать устройства, с помощью которых можно установить соединение. Их можно увидеть при установке сединения. Вот так это выглялит у меня. И я хочу получить такой же список.
Код как вы видете похож. Даже объяснять ненужно. Но все-таки кратко. Массив структур для получения информации, размер массива и размер записи для идентификации версии. Вызов RasEnumDevices() для заполнения массива. И цикл по массиву для вывода информации. И опять функция возврашает успешность своей работы.
В результате у меня на экране появилось следующее:
modem V1433VQH-U Internal FAXModem (Voice) vpn Microsoft VPN Adapter
Тип и название.
Напоследок. Программирование DialUp от Microsoft использует теже функции. А это очень приятно.
Массив для заполнения
RASDEVINFO rasinfo[20];
В первую ячейку размер записи.
rasinfo[0].dwSize = sizeof(RASDEVINFO);
Вызов функции:
RasEnumDevices(rasinfo, &dSize, &dNumber )