苦度人生
驱动牛犊
驱动牛犊
  • 注册日期2006-04-28
  • 最后登录2007-06-18
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
阅读:1569回复:2

在ndis im驱动中怎样使用ZwCreateFile及其相关函数

楼主#
更多 发布于:2007-02-02 11:06
  我想在ndis im驱动中使用OBJECT_ATTRIBUTES,IO_STATUS_BLOCK,ZwCreateFile,ZwWriteFile,ZwClose之类的东西,以便将信息保存到文件中。但是在build的时候居然说,这些东西都是undeclared identifier。而我在做tdi驱动时,也是这样用的,就没有问题。
    我是在做完tdi后就继续做ndis了,环境肯定是相同的。难道还需要在source之类的文件中做些特别的配置?

    请哪位高人告诉我为什么?要不然的话,我就只能够使用C中的文件读写操作了
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-02-03 11:00
包含一下ntddk.h,或者wdm.h
苦度人生
驱动牛犊
驱动牛犊
  • 注册日期2006-04-28
  • 最后登录2007-06-18
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-02-03 20:35
虽然我的问题已经解决,但是仍然非常感谢您的指点!
    我开始的时候,在#include"ndis.h"后添加#include"ntddk.h",没有任何反应。如果是将他们两个的顺序颠倒一下,就会出现许多的重复定义的错误。如果直接在#include"ndis.h"后添加#include“wdm.h”也会出现许多重复定义的错误。
    后来和别人的代码仔细比较了一下,发现在source文件中的C_DEFINE处添加-DNDIS_WDM并且使用wdm.h文件就没有问题了。我用的ndis中间层驱动的框架是朱雁辉那本书上的,source文件中没有DNDIS_WDM而ddk自带的示例驱动的source文件中DNDIS_WDM。

     但是我还想问一下DNDIS_WDM代表了什么意思,他怎么就有这么大的功能?
游客

返回顶部