fengquan
驱动牛犊
驱动牛犊
  • 注册日期2002-12-12
  • 最后登录2003-01-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1093回复:3

各位好汉,谁能解释一下为什么总是调用NdisMRegisterDevice不成功?感谢呀!!

楼主#
更多 发布于:2003-01-18 16:52
我想用应用程序动态加载网卡驱动(虚拟的),却总是调用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);
}
mingyulantian
驱动牛犊
驱动牛犊
  • 注册日期2002-11-26
  • 最后登录2006-01-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-18 18:02
this->m_Handle这个参数有没有初始化?
很可能IN PDRIVER_DISPATCH  MajorFunctions[],这个参数不能
为0吧
    
fengquan
驱动牛犊
驱动牛犊
  • 注册日期2002-12-12
  • 最后登录2003-01-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-18 19:45
首先谢谢mingyulantian的回复
this->m_Handle已经在VNICAdap的父类里由NdisMInitializeWrapper初始化了;
关于MajorFunctions,我也怀疑是这个问题,但我目前只是希望注册该设备而已,并不想实现什么功能,应该不写没什么关系。在说NDIS的版本也是5,不存在什么问题呀!
hnlinkun
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2016-04-05
  • 粉丝0
  • 关注0
  • 积分9449分
  • 威望49823点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-19 09:13
用户被禁言,该主题自动屏蔽!
游客

返回顶部