Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Aleator
65 / 60 / 5
Регистрация: 04.05.2011
Сообщений: 1,222
#1

Ошибка с получением Mac-адреса сетевого адаптера вызовом NetBIOS - C++ Builder

16.01.2012, 13:13. Просмотров 1245. Ответов 3
Метки нет (Все метки)

Пытаюсь запустить консольку, разработаную в VS в Buildere. Компилируется без ошибок, но и адрес карты не выдаёт (Ошибка инициализации).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <vcl.h>
#pragma hdrstop
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <nb30.h>
//---------------------------------------------------------------------------
 
#pragma argsused
 
 typedef struct tagAStatusBuffer { // ГІГЁГЇ: ГЎГіГґГҐГ° Г§Г*ïðîñГ* ñîñòîÿГ*ГЁГї Г*Г¤Г*ГЇГІГҐГ°Г*
ADAPTER_STATUS AStatus;
NAME_BUFFER Names [1]; //òîëüêî îäГ*Г® èìÿ
} TAStatusBuffer;
 
int main(int argc, char* argv[])
{
 /* - ---
- NBGETMAC.C - ïîëó÷åГ*ГЁГҐ MAC-Г*äðåñГ* ñåòåâîãî Г*Г¤Г*ГЇГІГҐГ°Г* âûçîâîì NetBIOS -
--- - */
 
 
TAStatusBuffer AStatusBuff; //ГЎГіГґГҐГ° Г¤Г*Г*Г*ûõ
BYTE AAddr [6]; //Г¬Г*Г±Г±ГЁГў MAC-Г*äðåñГ* (48 ГЎГЁГІ)
NCB Ncb; //NetBIOS control block
// Г*Г*Г·Г*ëüГ*ûé ñáðîñ Г*Г¤Г*ГЇГІГҐГ°Г*
memset (&Ncb, 0, sizeof(Ncb));
Ncb.ncb_command = NCBRESET; //êîìГ*Г*Г¤Г* - Reset
Ncb.ncb_lana_num = 0; //Г*îìåð Г*Г¤Г*ГЇГІГҐГ°Г* - ГЇГ® óìîë÷Г*Г*ГЁГѕ 0
Netbios (&Ncb); //âûçîâ NetBIOS
if (Ncb.ncb_retcode != NRC_GOODRET) { //ïðîâåðêГ* îøèáêè
printf ("ГЋГёГЁГЎГЄГ* ГЁГ*èöèГ*ëèçГ*öèè: %02Xh\n", Ncb.ncb_retcode);
return -1;
}
// Г§Г*ïðîñ ñîñòîÿГ*ГЁГї Г*Г¤Г*ГЇГІГҐГ°Г*, Гў ГІ.Г·. ГҐГЈГ® MAC-Г*äðåñГ*
memset (&Ncb, 0, sizeof(Ncb));
Ncb.ncb_command = NCBASTAT; //êîìГ*Г*Г¤Г* - GetAdapterStatus
Ncb.ncb_lana_num = 0; //Г*îìåð Г*Г¤Г*ГЇГІГҐГ°Г* - ГЇГ® óìîë÷Г*Г*ГЁГѕ 0
memset (&(Ncb.ncb_callname), ' ', 16); //Г§Г*Г°Г*Г*ГҐГҐ äîïîëГ*ГЁГІГј ïðîáåëГ*ìè
Ncb.ncb_callname[0] = '*'; //áóäåò ëîêГ*ëüГ*îå èìÿ
Ncb.ncb_buffer = (BYTE*)&AStatusBuff; //ГЎГіГґГҐГ° ðåçóëüòГ*ГІГ* âûçîâГ*
Ncb.ncb_length = sizeof(AStatusBuff); //Г°Г*çìåð ГЎГіГґГҐГ°Г*
Netbios (&Ncb); //âûçîâ NetBIOS
if (Ncb.ncb_retcode != NRC_GOODRET) { //ïðîâåðêГ* îøèáêè
printf ("ГЋГёГЁГЎГЄГ* Г§Г*ïðîñГ* ñîñòîÿГ*ГЁГї: %02Xh\n", Ncb.ncb_retcode);
return -1;
}
// âûâîä ðåçóëüòГ*ГІГ*
memcpy (AAddr, AStatusBuff.AStatus.adapter_address, 6); //ñîõðГ*Г*ГЁГІГј
printf("MAC-Г*äðåñ Г*Г¤Г*ГЇГІГҐГ°Г*: %02X-%02X-%02X-%02X-%02X-%02X",
AAddr[0], AAddr[1], AAddr[2], AAddr[3], AAddr[4], AAddr[5]);
 
return 0;
}
 
 
//--------

http://www.cyberforum.ru/cpp/thread13462.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2012, 13:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ошибка с получением Mac-адреса сетевого адаптера вызовом NetBIOS (C++ Builder):

Изменение mac адреса
Стоит задача программно изменить mac адрес устройства. Помогите чем небуть url...

Определение mac-адреса сетевой карты
Приветствую. Ребят, дайте пожалуйста действующий способ определения mac-адреса...

Получение Mac-адреса сетевого адаптера.
Очень нужна помощь!!! В Microsoft Visual Studio 2010 пытаюсь запустить...

Сканирование сети с получением IP-адреса и MAC-адреса
помогите в создании приложения ,которое при сканировании сети выдавало...

Как из Windows NT/2000 посмотреть MAC-адрес сетевого адаптера?
Добрый день! Есть вопрос. Как из Windows NT/2000 посмотреть MAC-адрес сетевого...

3
Sasha
4918 / 2383 / 529
Регистрация: 05.06.2008
Сообщений: 7,465
Записей в блоге: 3
16.01.2012, 13:24 #2
Тебе не сюда

Добавлено через 1 минуту
В другой раздел
0
Aleator
65 / 60 / 5
Регистрация: 04.05.2011
Сообщений: 1,222
16.01.2012, 13:25  [ТС] #3
Думаю сюда, ведь пытаюсь запустить в Buildere...
0
LK
Заблокирован
20.01.2012, 02:55 #4
Как определить MAC-адрес
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2012, 02:55
Привет! Вот еще темы с решениями:

имя рабочей группы, тип сетевого адаптера, MAC-адрес
Не получается найти команды в cmd: имя рабочей группы тип сетевого адаптера...

Ошибка в работе сетевого адаптера
Установил систему Windows7-&gt;Windows 8.1 Поставились абсолютно все драйвера и...

Ошибка драйвера сетевого адаптера
Подключился к интернету, всё хорошо работало. На следующий день абсолютно все...

Ошибка при создании виртуального сетевого адаптера хоста. VirtualBox
Прошу о помощи! Уже несколько дней не могу справится с проблемой, гугл не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru