第三种方法- 使用snmp扩展api
我要讨论的第三种方法是使用windows的snmp(简单网络管理协议)扩展来取得mac地址.在我的经验里,这个协议很简单.代码也是直勾勾的向前的.基本步骤与netbios相同: 【程序编程相关:把jboss安装成windows的服务!】 【推荐阅读:未考虑普及化 专家质疑 Linux 缺陷】1»取得网卡列表 【扩展信息:Novell 推企业 Linux 台式机】 2»查询每块卡的类型与mac地址 3»保存当前网卡 我个人对snmp了解不多,但如我刚刚所言,代码十分清楚.snmp.cpp
#include <snmp.h> #include <conio.h> #include <stdio.h>typedef bool(winapi * psnmpextensioninit) (
in dword dwtimezeroreference, out handle * hpollfortrapevent, out asnobjectidentifier * supportedview);typedef bool(winapi * psnmpextensiontrap) (
out asnobjectidentifier * enterprise, out asninteger * generictrap, out asninteger * specifictrap, out asntimeticks * timestamp, out rfc1157varbindlist * variablebindings);typedef bool(winapi * psnmpextensionquery) (
in byte requesttype, in out rfc1157varbindlist * variablebindings, out asninteger * errorstatus, out asninteger * errorindex);typedef bool(winapi * psnmpextensioninitex) (
out asnobjectidentifier * supportedview);void main()
{ hinstance m_hinst; psnmpextensioninit m_init; psnmpextensioninitex m_initex; psnmpextensionquery m_query; ... 下一页