深度剖析WinPcap之(七)——获得与释放网络适配器设备列表(3)
2009-09-11 00:00:00 来源:WEB开发网1.4.3.2 PacketFindAdInfo函数
函数PacketFindAdInfo ()查找g_AdaptersInfoList全局链表,查找一个适配器的信息。其原型如下:
PADAPTER_INFO PacketFindAdInfo(PCHAR AdapterName)
参数AdapterName是所需获取信息的适配器名称
如果函数成功,返回一个指向适配器信息的PADAPTER_INFO结构体指针,如果失败,返回NULL值。
函数的主要代码实现如下:
PADAPTER_INFO PacketFindAdInfo(PCHAR AdapterName)
{
PADAPTER_INFO TAdInfo;
…
TAdInfo = g_AdaptersInfoList;
/*查找适配器AdapterName*/
while(TAdInfo != NULL)
{
if(strcmp(TAdInfo->Name, AdapterName) == 0)
{
//成功找到适配器AdapterName
break;
}
TAdInfo = TAdInfo->Next;
}
…
return TAdInfo;
}
该函数需要返回一个PADAPTER_INF类型指针, 所以不需要获取g_AdaptersInfoMutex互斥信号,而是在PacketGetNetInfoEx()函数中调用该函数时提供互斥操作的保护。
1.5 NPF中对应的函数接口
在NPF中由NPF_IoControl函数中的如下代码处理该操作。
NTSTATUS NPF_IoControl(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)
{
…
switch (FunctionCode){
…
case BIOCSETOID:
case BIOCQUERYOID:
…
}
…
}
出处: http://eslxf.blog.51cto.com/918801/198595
- ››深度解释攻击linux服务器的四种级别
- ››剖析java.util.concurrent锁
- ››剖析Android智能手机系统的更多功能
- ››深度分析地方社区网站的内容定位
- ››剖析Windows Azure Platform框架与组成
- ››剖析使用 ObjectOutputStream 可能引起的内存泄漏...
- ››剖析EWebEditor编辑器漏洞攻击案例
- ››剖析开源云:构建 Infrastructure as a Service 块...
- ››深度剖析 Android 和 iPhone OS
- ››深度分析:HTML5能否成为Flash终结者
- ››深度挖掘 更多Windows 7快捷模式
- ››深度挖掘 Windows 7快捷模式
更多精彩
赞助商链接