阅读:1092回复:3
各位好汉,谁能解释一下为什么总是调用NdisMRegisterDevice不成功?感谢呀!!
我想用应用程序动态加载网卡驱动(虚拟的),却总是调用NdisMRegisterDevice失败,哪位老大解释解释!!!
程序如下: NTSTATUS VNICDriver::DriverEntry(IN PVOID) { TRACE(\"VNICDriver::DriverEntry Compiled at \" __TIME__ \" on \" __DATE__ \"\\n\"); NDIS_STATUS Status = NDIS_STATUS_SUCCESS; NDIS_STRING DeviceName; NDIS_STRING SymbolicName; NdisInitUnicodeString(&DeviceName, (PCWSTR)L\"\\\\Device\\\\BTVNIC\"); NdisInitUnicodeString(&SymbolicName, (PCWSTR)L\"\\\\DosDevices\\\\BTVNIC\"); Status = NdisMRegisterDevice(this->m_Handle, &DeviceName, &SymbolicName, 0, &PDeviceObject, &DeviceHandle); if (Status != NDIS_STATUS_SUCCESS) { DbgPrint(\"NdisMRegisterDevice() Failed!\"); return NDIS_STATUS_FAILURE; } KNDIS_MINIPORT_CHARACTERISTICS<VNICAdapter> Chars; return Chars.Register(*this); } |
|
沙发#
发布于:2003-01-18 18:02
this->m_Handle这个参数有没有初始化?
很可能IN PDRIVER_DISPATCH MajorFunctions[],这个参数不能 为0吧 |
|
板凳#
发布于:2003-01-18 19:45
首先谢谢mingyulantian的回复
this->m_Handle已经在VNICAdap的父类里由NdisMInitializeWrapper初始化了; 关于MajorFunctions,我也怀疑是这个问题,但我目前只是希望注册该设备而已,并不想实现什么功能,应该不写没什么关系。在说NDIS的版本也是5,不存在什么问题呀! |
|
地板#
发布于:2003-01-19 09:13
用户被禁言,该主题自动屏蔽! |
|