Простейший Snmp Query

  • Автор темы redex
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

redex

Гость
#1
Нижеследующий код должен, как я понимаю, вернуть 1-ый из доступных на данной машине IP адресов:

Код:

HANDLE PollForTrapEvent;
AsnObjectIdentifier SupportedView;
SnmpVarBindList list_v;
SnmpVarBind elem[1];
AsnInteger32 errStatus, errIndex;
UINT OID_ipAdEntAddr[] = { 1, 3, 6, 1, 2, 1, 4 , 20, 1 ,1 };
AsnObjectIdentifier MIB_ipAdEntAddr = { sizeof(OID_ipAdEntAddr)/sizeof(UINT), OID_ipAdEntAddr };

BOOL status = SnmpExtensionInit(0,&PollForTrapEvent,&SupportedView);
if(!status)
{
return;
}
SnmpUtilOidCpy(&elem[0].name, &MIB_ipAdEntAddr);
//elem[0].value.asnValue.address.stream = new BYTE[10];
list_v.list = elem;
list_v.len = 1;
SnmpExtensionQuery(SNMP_PDU_GETNEXT, &list_v, &errStatus, &errIndex);
switch(errStatus)
{
case SNMP_ERRORSTATUS_NOERROR:
ShowMessage("Have sended successfully!");
break;
case SNMP_ERRORSTATUS_NOSUCHNAME:
ShowMessage("The requested operation identified an unknown variable");
return;
default:
;
}
int ret = SnmpUtilOidNCmp(&elem[0].name,&MIB_ipAdEntAddr,MIB_ipAdEntAddr.idLength);
DWORD dtmp = *((DWORD *)elem[0].value.asnValue.address.stream);

Но на последней строке вылетает Access Violation, хотя ошибок не возвращается при SnmpExtensionQuery. Кто-нибудь может сказать, почему?
 
Статус
Закрыто для дальнейших ответов.