阅读:3011回复:7
应用层的数据可不可能绕过协议层、中间层,进入NDIS直接与小端口交互?
应用层如何将数据发往NDIS呢?
|
|
最新喜欢:skylgl
|
沙发#
发布于:2001-07-31 17:07
从我个人的理解来说,是不可能的,因为驱动程序分层后会形成设备栈,irp(包括应用层传给它的数据)会从栈顶到栈底 ,不可能绕过某层的...........
|
|
|
板凳#
发布于:2001-07-31 20:44
我想你的问题在的ndis理解不对
协议,miniport都是ndis体系结构的一个 部分,应用程序也不会显示的调用ndis函数 应用程序见到的顶多就是socket了 |
|
|
地板#
发布于:2001-08-01 09:27
问题本来是这样的:
我需要将自己NDIS小端口驱动与自己的应用接口以扩展功能,但不知怎样从应用将控制用DeviceIoControl发往我的设备呢? 1 我不知道在应用中打开NDIS类小端口设备是否能用CreateFile,如果可以,其参数该怎么设呢。因为用VXD 时,是很容易用 CreateFile("\\\\.\\myvxd.vxd", ...)打开的。 2 NDIS中响应IOCTL的函数,能否象一般WDM那样注册?DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = OnDeviceControl; 还请不吝赐教! [Caprice 编辑于 2001-08-01 10:13] |
|
|
地下室#
发布于:2001-08-01 15:05
高手们,我知道我的问题太笨 但,拜托指教一下吧
是不是一定要通过TDI用户->TDI->MiniPort 呢 (见下图) |
|
|
5楼#
发布于:2001-08-01 15:52
正常的miniport是不能响应IOCTL的
,不过你可以自己在miniport中加入创建设备 然后就可以通过DeviceIoControl控制中miniport ddk 中packet的例子就是用DeviceIoControl控制 protolcal driver 的 miniport的道理是一样的 你可以去看看 |
|
|
6楼#
发布于:2001-08-03 00:51
可以自己写个协议驱动嘛,像packet那样。
|
|
|
7楼#
发布于:2001-08-03 08:46
这样不知会不会程序效率不够
|
|
|