RasSetEntryProperties Problem



  • Hallo zusammen,
    ich versuche gerade unter Windows 2000 die Funktion RasSetEntryProperties-Funktion aufzurufen. Ich bekomme jedoch immer 632 = ERROR_INVALID_SIZE (ras.h) zurück. Unter Windows XP funktioniert der Code jedoch einwandfrei. Das Programm soll aber letztendlich auf Win2000 und WinXP laufen. Ich sitze bereits einige Stunden vor diesem Problem. Bitte helft mir 🙂 Danke.



  • Etwas Code wäre hilfreich.



  • @cd9000, hier mal etwas Code.

    RASDEVINFO *pDevInfo = ...
      ...
      ...
      RASENTRY entry;
      DWORD nSize = sizeof( RASENTRY );
    
      if ( !pDevInfo )
        return false;
    
      memset( &entry, NULL, nSize );
      entry.dwSize = sizeof( entry );
      entry.dwfOptions |= RASEO_IpHeaderCompression;
      entry.dwfOptions |= RASEO_RemoteDefaultGateway;
      entry.dwfOptions |= RASEO_SwCompression;
      entry.dwfNetProtocols = RASNP_Ip;
      entry.dwFramingProtocol = RASFP_Ppp;
    
      strcpy( entry.szLocalPhoneNumber, "0" );
      strcpy( entry.szDeviceName, pDevInfo->szDeviceName );
      strcpy( entry.szDeviceType, pDevInfo->szDeviceType );
    
      dwErr = RasSetEntryProperties( NULL, m_pName, &entry, nSize, NULL, 0 );
      ...
    

    Habe noch etwas in www.google.de gesucht und dabei
    folgende (jedoch unschöne) Problemlösung gefunden.

    #define WINVER 0x400
    

    Irgendwie ist die RASENTRY-Struktur auf unterschiedlichen Windowssystem verschieden groß (mehr oder weniger Elemente). Dadurch, dass ich nun die Windowsversion fest setze kommt RasSetEntryProperties plötzlich mit dem Code ohne Probleme klar 🙂 Für eine andere Problemlösung wäre ich haher immer noch dankbar.




Anmelden zum Antworten