Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2011, 23:55   #1
ahpun
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 21
По умолчанию Вопрос по dll

Есть ли возможность залить статический IP адрес непосредственно в драйвер usb wi-fi донгла?Я не программист поэтому за корректность вопроса не отвечаю .Проц. ARM.Вопрос возник потому,что не могу избавиться от нулевых значений адреса и маски.
Вложения
Тип файла: rar Dll.rar (163.9 Кб, 9 просмотров)
ahpun вне форума Ответить с цитированием
Старый 03.08.2011, 10:13   #2
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

За деньги всё возможно)
mss вне форума Ответить с цитированием
Старый 03.08.2011, 11:54   #3
ahpun
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 21
По умолчанию

Согласен,если сделаешь.
ahpun вне форума Ответить с цитированием
Старый 03.08.2011, 12:00   #4
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Цитата:
не могу избавиться от нулевых значений адреса и маски
И поэтому сразу же надо бросаться "ломать драйвер" ?)
То что у тебя наблюдаются нечие проблемы с назначением сетевому интерфейсу адреса и маски, вовсе не говорит о том что в этом виноват именно драйвер.
Возможно какие-то службы, прямо или косвенно касаемые TCP/IP, установлены криво или не установлены вообще.
mss вне форума Ответить с цитированием
Старый 03.08.2011, 12:31   #5
ahpun
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 21
По умолчанию

Конечно это не вина драйвера.Проблема в службах,только в Wince не так просто это поправить.По факту-у меня не получается.Как вариант нужно перестраивать прошивку.Думаю нулевые значения потому что винда не видит точек доступа.При этом сторонняя утилита (WiFiKnife) точки видит и пытается подключиться,но IP=0 mask=0.
ahpun вне форума Ответить с цитированием
Старый 06.08.2011, 19:29   #6
ahpun
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 21
По умолчанию

Есть еще такой вариант изменения адреса:

How do I change the IP address of a Windows CE machine?
You can alter the current IP address by writing a new value out to the registry at HKLM\comm[adaptername]\Parms\Tcpip. Keep in mind that this is a multi-sz value and that for the change to take affect, you must call the NDIS driver with the IOCTL_NDIS_REBIND_ADAPTER IOCTL.

В принципе все понятно кроме последней строчки.Как и чем запустить функцию IOCTL? Я так понимаю что это не командная строка.
ahpun вне форума Ответить с цитированием
Старый 06.08.2011, 20:27   #7
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

возможно DeviceIoControl поможет...
counter вне форума Ответить с цитированием
Старый 06.08.2011, 23:26   #8
alex_x_x
Форумчанин
 
Регистрация: 31.01.2011
Сообщений: 160
По умолчанию

ioctl - это команда драйверу, грубо говоря - тут программу писать надо
NDIS - это виндовская сетевая система, так что вопрос - может есть другой способ перезагрузить нетворк систему
alex_x_x вне форума Ответить с цитированием
Старый 09.08.2011, 00:00   #9
ahpun
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 21
По умолчанию

Да, хороший вопрос.Поэтому я здесь,может кто подкинет какую мысль.Или склеит програмку с одной функцией-ребинд адаптера.Один чел в сети делал например так:

Re[3]: Программное изменение IP адреса под WinCE Оценить
От: mject
Дата: 18.03.05 14:22

Пожалуйста:

Код:
//-----------------------------------------------------------------------------
void ChangeIPAddress( UINT ipAddr, UINT ipMask, UINT ipGateway )
{
HKEY hKey;
LONG lRes = RegOpenKeyEx( HKEY_LOCAL_MACHINE, _T("Comm\\PCI\\RTL81391\\Parms\\TcpIp"), 0, 0, &hKey );
if( lRes == ERROR_SUCCESS && hKey != NULL )
{
DWORD dw = 0;
RegSetValueEx( hKey, _T("EnableDHCP"), 0, REG_DWORD, (PBYTE)&dw, sizeof(DWORD)); //disable DHCP

TCHAR buf[32];

in_addr addr;
addr.S_un.S_addr = ipAddr;
char* p = inet_ntoa( addr );
mbstowcs( buf, p, strlen( p ) + 1 );

RegSetValueEx( hKey, _T("IpAddress"), 0, REG_MULTI_SZ, (PBYTE)buf, (wcslen( buf )+1) * sizeof(TCHAR) );

addr.S_un.S_addr = ipMask;
p = inet_ntoa( addr );
mbstowcs( buf, p, strlen( p ) + 1 );

RegSetValueEx( hKey, _T("Subnetmask"), 0, REG_MULTI_SZ, (PBYTE)buf, (wcslen( buf )+1) * sizeof(TCHAR) );

addr.S_un.S_addr = ipGateway;
p = inet_ntoa( addr );
mbstowcs( buf, p, strlen( p ) + 1 );

RegSetValueEx( hKey, _T("DefaultGateway"), 0, REG_MULTI_SZ, (PBYTE)buf, (wcslen( buf )+1) * sizeof(TCHAR) );

RegFlushKey( hKey );
RegCloseKey( hKey );
}

//Open NDIS driver
HANDLE hNdis;
hNdis = CreateFile( _T("NDS0:"), GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL );
if( hNdis == INVALID_HANDLE_VALUE )
{
WriteProgrammError( __FILE__, __LINE__, ERROR_CODE_STD );
return;
}

// Send the device command.
DWORD xcount;
LPCTSTR szAdapterName = _T("PCI\\RTL81391");
int ret = DeviceIoControl( hNdis, 
IOCTL_NDIS_REBIND_ADAPTER, 
(PVOID)szAdapterName, ( _tcslen(szAdapterName) + 1 ) * sizeof(TCHAR), 
NULL, 0, &xcount, NULL );

if( !ret )
WriteProgrammError( __FILE__, __LINE__, ERROR_CODE_STD );

CloseHandle( hNdis );
}
//-----------------------------------------------------------------------------
Закинул тему в фриланс,но там тоже полная тишина.Вот думаю,или вопрос слишком сложный-что никак,или слишком легкий что не хочется уделять время такой мелочи

Последний раз редактировалось rpy3uH; 14.08.2011 в 13:10.
ahpun вне форума Ответить с цитированием
Старый 09.08.2011, 13:41   #10
ahpun
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 21
По умолчанию

Еще можно подойти с другого конца.Есть две утилиты wifi и knifeWiFi.rarWifiKnife.rar
WiFi -утилита виндовская и точек доступа не видит,Knife-сторонняя и точки видит.Если бы виндовскую тоже научить видеть сеть то думаю проблема с айпишником отпала бы сама собой.
ahpun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по dll Waqq Общие вопросы Delphi 4 20.02.2011 15:06
Вопрос по dll Exact Общие вопросы Delphi 2 20.12.2009 13:20
Вопрос про DLL R@# Общие вопросы Delphi 11 21.06.2009 12:26
Вопрос по .DLL user_jasser Общие вопросы Delphi 3 09.11.2008 14:26
Вопрос о dll Altera Общие вопросы Delphi 9 26.04.2008 06:55