информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыСетевые кракеры и правда о деле ЛевинаАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[C++] Помогите с RAS... 31.01.06 12:18  
Автор: alex_b Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Добрый День! Столкнулся с проблемой, никак не могу изменить параметр Dial Up соединения, функци RasSetEntryProperties постоянно возвращает код ошибка 87...
Вопрос: - Как можно изменить к примеру IP адрес DNS в существующем соединение, все параметры его я получаю, а вот при изменении, всегда возвщарается 87...

Вот код:

RASENTRYNAME rasentry[40];
DWORD dSize, dNumber;

dSize = sizeof(rasentry);
rasentry[0].dwSize = sizeof(RASENTRYNAME);

if (RasEnumEntries(NULL,NULL, rasentry, &dSize, &dNumber) == 0)
for (int i = 0; i < dNumber; i++)
{
RASENTRY ras;
memset(&ras,0,sizeof(RASENTRY));
ras.dwSize = sizeof(RASENTRY);
if (RasGetEntryProperties(NULL,rasentry[i].szEntryName,&ras,&ras.dwSize,NULL,NULL) == NULL)
{

ras.ipaddrDns.a = 13;
ras.ipaddrDns.b = 13;
ras.ipaddrDns.c = 13;
ras.ipaddrDns.d = 13;
int res = RasSetEntryProperties(NULL, rasentry[i].szEntryName, &ras, ras.dwSize, NULL, 0);
if (res) // << Тут все время код ошибка
{
MessageBox(0,"RasSetEntryProperties failed..", 0,0);
} else
{
MessageBox(0,"Ok","Ok",0);
}
}
}

Что не так?
[c++] rtfm, msdn. memset(&ras,0,sizeof(rasentry)) вызывает ошибку в параметре lprasentry. перед вызовом функции требуется заполнить некоторые поля структуры. читай отрывок в теле поста. 31.01.06 13:31  
Автор: kstati <Евгений Борисов> Статус: Elderman
<"чистая" ссылка>
DWORD RasSetEntryProperties(
     LPCTSTR lpszPhonebook,
     LPCTSTR lpszEntry,
     LPRASENTRY lpRasEntry,
     DWORD dwEntryInfoSize,
     LPBYTE lpbDeviceInfo,
     DWORD dwDeviceInfoSize);

---

lpRasEntry
[in] Pointer to the RASENTRY structure that specifies the new connection data to be associated with the phone-book entry indicated by the lpszEntry parameter.
The caller must provide values for the following members in the RASENTRY structure.


szPLocalPhoneNumber
szDeviceName
szDeviceType
dwFramingProtocol
dwfOptions
dwType

Important: dwType is only valid if WINVER >= 0x500.

If values are not provided for these members, RasSetEntryProperties fails with ERROR_INVALID_PARAMETER.

The structure might be followed by an array of null-terminated alternate phone number strings. The last string is terminated by two consecutive null characters. The dwAlternateOffset member of the RASENTRY structure contains the offset to the first string.
Windows Me/98/95 OSR2: The Microsoft Layer for Unicode does not support dwAlternateOffset in RASENTRY.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach