我是自己写的驱动,再调用ProtocolBindAdapter里面,我使用了NdisOpenAdapter函数,但是,而且在其前面进行了POOL的和PACKET的分配,这些初始化的过程没有出错,但是在其后调用NdisIMInitializeDeviceInstanceEx向NDI...
全文
回复(7) 2002-12-06 17:27 来自版块 - NDIS网络接口开发
表情
skylgl我注释掉这句也没有问题呀???(2002-12-06 17:49)
skylgl谢谢frack,有人讨论的感觉真是帅呆了,再问一下,所谓的Event,是必须的,也就是说等待是必须的???我没有搞清楚,在Passthru中这样做的目的???好像是多次用到的???(2002-12-06 17:47)
skylglbingjie,你是指的是直接手动调用ProtocolCompleteAdapterOpen这个函数,你上面是不是应该把!=换成==??(2002-12-06 17:44)
fracker就是,你不看这句吗? if(*Status == NDIS_STATUS_PENDING) { NdisWaitEvent(&pAdapt->Event, 0); *Status = pAdapt->Status; }...(2002-12-06 17:42)
skylgl谢谢,那么所谓的操作是不是指的是指系统会去调用NdisCompleteOpenAdapter???,还是指的其他的操作呢?我看Passthru的上面的系统调用中也没有做什么事情呀?或者你指的是等待那个SPINLOCK??(2002-12-06 17:40)
bingjie你这样做试试看 ProtocolBindAdapter函数里 // 此处Status为调用NdisOpenAdapter的返回状态 if( Status != NDIS_STATUS_PENDING ) ProtocolOpenAdapterComplte( ....(2002-12-06 17:37)
edustPassthru 中,如果 NdisOpenAdapter 返回 NDIS_STATUS_PENDING,它会等待操作完成之后才继续执行。(2002-12-06 17:31)

返回顶部