RasDial(), ошибка 87
От: NVGNVG  
Дата: 26.09.07 07:08
Оценка:
Приведенный ниже код (C++Builder 5) отлично работает на 5 компьютерах, но на 2 других компьютерах вызов RasDial() выдает недокументированную(?) ошибку с кодом 87. Везде стоит W2K SP2 или SP4. Код не один раз сверен с документацией. Подскажите, пожалуйста, в какую сторону копать.

   RASDIALPARAMS rdp = {0};
   rdp.dwSize = sizeof(rdp);
   lstrcpy(rdp.szEntryName,  "");
   lstrcpyn(rdp.szPhoneNumber, edPhoneNumber->Text.c_str(), RAS_MaxPhoneNumber + 1);
   lstrcpy(rdp.szCallbackNumber, "");
   lstrcpyn(rdp.szUserName, edUserName->Text.c_str(), UNLEN + 1);
   lstrcpyn(rdp.szPassword, edPassword->Text.c_str(), PWLEN + 1);
   lstrcpy(rdp.szDomain, "");
   rdp.dwSubEntry = 0;
   rdp.dwCallbackId = 0;

   HRASCONN RASConnId = 0;
   Log("Начинаем звонить, телефон: " + edPhoneNumber->Text);
   DWORD RASDialResult = RasDial(NULL, NULL, &rdp, 0, NULL, &RASConnId); //ЗДЕСЬ ВЫЗОВ ЗАВЕРШАЕТСЯ С ОШИБКОЙ 87
   if (RASDialResult) {
    Log("Не удалось установить дозвон, код ошибки: " + IntToStr(RASDialResult));
    RasHangUp(RASConnId);
   }
   else {
    Log("Дозвон установлен");
   }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.