阅读:1448回复:6
求助:NdisMRegisterDevice调用总是不成功,先谢谢了!
我的代码如下(在初始化Wrapper后调用的):
NDIS_STRING strDeviceName = NDIS_STRING_CONST("\\Device\\passthru"); NDIS_STRING strLinkName = NDIS_STRING_CONST("\\??\\passthru"); status = NdisMRegisterDevice(....,strDeviceName,strLinkName,....); status 总不是NDIS_STATUS_SUCCESS,一下午都没分析出是什么地方出毛病了,是不是和安装文件有关,谢了先! |
|
|
沙发#
发布于:2004-03-25 22:11
打印出错误代码,看看是什么。
[编辑 - 3/25/04 by slwqw] |
|
板凳#
发布于:2004-03-25 22:25
status = 0xc00000bb
|
|
|
地板#
发布于:2004-03-25 22:30
我在设备管理器网卡中发现了如下东西:
simpel filter #9 simple filter #10 simple filter #11 卸载不了,不知道有没有关系 |
|
|
地下室#
发布于:2004-03-26 08:35
我的问题和你很类似,虽然不是中间层驱动。
我做的是miniport驱动,安装过程中系统给胡乱安装了好多莫名其妙的驱动,删也删不掉,只有将自己的驱动删除了,重启后系统才有可能自动将其删除! 我除了此类现象还有死机:跟踪发现主要是发送过程有问题,对同一个指针进行多次申请内存,而又没有释放! |
|
5楼#
发布于:2004-03-26 09:20
"\Device\passthru"怎么能这样!
用L"\\Device\\passthru"看看。 |
|
6楼#
发布于:2004-04-09 12:55
#define NTDEVICE_STRING L"\\\\Device\\\\Passthru"
#define LINKNAME_STRING L"\\\\DosDevices\\\\Passthru" UNICODE_STRING DeviceName; UNICODE_STRING DeviceLinkUnicodeString; disInitUnicodeString(&DeviceName, NTDEVICE_STRING); NdisInitUnicodeString(&DeviceLinkUnicodeString,LINKNAME_STRING); NdisMRegisterDevice( NdisWrapperHandle, &DeviceName, &DeviceLinkUnicodeString, &DispatchTable[0], &ControlDeviceObject, &NdisDeviceHandle ); 注意'\\',在C语言中一个'\\'是转意符。 [编辑 - 4/9/04 by nicklezhang] |
|