当前位置:首页 > WINCE6.0+S3C6410下的DM9000A驱动
图26
3.2.4 MiniportInterruptHandler函数 该函数调用NIC_DRIVER_OBJECT::DriverInterruptHandler()->C_DM9000::DeviceInterruptEventHandler()函数,下面就来看最底层的函数
图27
下面来学习C_DM9000::Dm9LookupRxBuffers函数 先看该函数体第一部分:
图28
看第二部分:
图29
该函数如果接收过程发现出错,例如CRC出错,将会丢掉当前的包并且对出错包的数量进行计数并且在最后接收完成后往上层报告。
3.2.5 MiniportQueryInformation函数
该函数用于查询网卡信息,返回网卡状态等信息。
3.2.6 MiniportSetInformation函数 该函数用于设置网卡的信息。
3.2.7 MiniportReset函数
对DM9000A复位,该函数主要通过调用C_DM9000::DeviceReset函数和C_DM9000::DeviceStart函数来实现,其中C_DM9000::DeviceStart函数见图26,下面就来学习C_DM9000::DeviceReset函数。
图30
3.2.8 MiniportCheckForHang函数
该函数检查硬件网卡的状态,该函数为可选的,可以不去实现。该函数的调用流程:MiniportCheckForHang()->NIC_DRIVER_OBJECT::DriverCheckForHang()->
NIC_DEVICE_OBJECT::DeviceCheckForHang()下面来看DeviceCheckForHang函数体:
共分享92篇相关文档