Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизGetIfTable() Найти похожие ветки
← →
Неудачнег (2007-01-28 22:33) [0]Уважаемые, подскажите, пжлст, в чем я ошибаюсь:
Ф-я отрабатывает нормально, однако при обращении к "mmt->Lines->Add((char *)table->table[i].bDescr);" вылазит страшный access violation по такому-то адресу. Хотя, если сделать это дело, как ShowMessage((char *)table->table[i].bDescr), то выводит правильно. Если через ШоуМессадж выводить адрес адаптера, то ... неправильный. Ни черта не понимаю.
Объявил ф-ю GetTable, какtypedef DWORD (*_GetIfTable)(
PMIB_IFTABLE pIfTable,
PULONG pdwSize,
BOOL bOrder
);
Затем подгружаю библиотеку и затем ф-ю. С этим проблем нет, там подгружается еще туева хуча других...
Блин, главное, всё нормально было. Так и не понял что я натворил тут, но теперь совсем запутался. Стыдно прям=(
PMIB_IFTABLE table;
ULONG dwSize = 0;
DWORD dwRetVal = 0;
table= (MIB_IFTABLE*) malloc(sizeof(MIB_IFTABLE));
if (GetTable( table, &dwSize, 0) == ERROR_INSUFFICIENT_BUFFER) {
free(table);
table = (MIB_IFTABLE *) malloc (dwSize);
}
if ((dwRetVal = GetTable(table, &dwSize, 0)) == NO_ERROR) {
for (int i = 0; i<table->dwNumEntries;i++){
mmt->Lines->Add((char *)table->table[i].bDescr);
String str = (String)
IntToHex(table->table[i].bPhysAddr[0],2)+
IntToHex(table->table[i].bPhysAddr[1],2)+
IntToHex(table->table[i].bPhysAddr[2],2)+
IntToHex(table->table[i].bPhysAddr[3],2)+
IntToHex(table->table[i].bPhysAddr[4],2)+
IntToHex(table->table[i].bPhysAddr[5],2)+"-"+
str = (String)str + (table->table[i].dwInOctets) + "-";
str = (String)str + (table->table[i].dwOutOctets);
}
}
Спасибо.
//Извините, что на код сях. Просто лучшего форума по программированию в сетях пока еще не нашел.
← →
Anatoly Podgoretsky © (2007-01-28 22:52) [1]И нафига ты лезешь на Дельфи сайт?
Ищи и тебе воздастся.
← →
Неудачнег (2007-01-28 23:01) [2]Ладно. Вроде решил. Спасибо за помощь, Podgoretsky.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.049 c