WEB开发网
开发学院操作系统windows 2008 深度剖析WinPcap之(七)——获得与释放网络适配器设... 阅读

深度剖析WinPcap之(七)——获得与释放网络适配器设备列表(3)

 2009-09-11 00:00:00 来源:WEB开发网   
核心提示: 1.4.3.2 PacketFindAdInfo函数函数PacketFindAdInfo ()查找g_AdaptersInfoList全局链表,查找一个适配器的信息,深度剖析WinPcap之(七)——获得与释放网络适配器设备列表(3)(7),其原型如下:PADAPTER_INFO PacketF

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

上一页  2 3 4 5 6 7 

Tags:深度 剖析 WinPcap

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接