RasEnumConnections zeigt müll....
-
Hallo an alle da draußen,
ich habe hier ein Programm das mir ab einer bestimmten menge RAS Verbindungen
nur noch müll zeigt:int main(int argc, char* argv[]) { RASCONN rasconn[5]; rasconn[0].dwSize = sizeof(RASCONN); DWORD dwSize = sizeof(rasconn[0]); ULONG lpcConnections; try{ RasEnumConnections((RASCONN*)rasconn,&dwSize,&lpcConnections); for(unsigned long i = 0;i<lpcConnections;i++){ char EntryName[RAS_MaxEntryName + 1], DeviceType[RAS_MaxDeviceType + 1], DeviceName[RAS_MaxDeviceName + 1]; strcpy(EntryName,rasconn[i].szEntryName); strcpy(DeviceType,rasconn[i].szDeviceType); strcpy(DeviceName,rasconn[i].szDeviceName); cout<<"Structure Size: "<<rasconn[i].dwSize<<endl; cout<<"Handle RasConn: "<<rasconn[i].hrasconn<<endl; cout<<"Entry Name: "<<EntryName<<endl; cout<<"Device Type: "<<DeviceType<<endl; cout<<"Device Name: "<<DeviceName<<endl; cout<<"--------------"<<endl; } } catch(...){ MessageBox(NULL,"Error in Process!","Error!",MB_OK|MB_ICONERROR); } return 0; }
Das ist das ergebnis des ganzen, bei einer DSL Verbindung die ich habe:
**
Structure Size: 704
Handle RasConn: 0x00010000
Entry Name: DSL
Device Type: PPPoE
Device Name: WAN-Miniport (PPPOE)
--------------
**Ok, so soll es ja auch sein, aber wenn ich ein paar RAS Verbindungen habe kommt das dabei raus:
Structure Size: 704
Handle RasConn: 0x0012ECE4
Entry Name: X
Device Type: ù¶ì☻
Device Name: §└
--------------
Structure Size: 1327508
Handle RasConn: 0x00000003
Entry Name:
Device Type: ÷
Device Name:
--------------Was ist das, lese ich aus irgendeinem fremden speicher? Die größe der zweiten Struktur kann ja auch nicht stimmen, oder?
Danke an alle Antworten....
Grüße Sandra
-
Ich würde sagen, dass du bei dwSize einen falschen Wert angegeben hast
Pointer to a variable that, on input, contains the size, in bytes, of the buffer specified by lprasconn.
Versuch's mal mit
DWORD dwSize = sizeof(rasconn);
-
Danke für deine schnelle Hilfe Flenders...
Grüße Sandra