guzhi-yu
驱动牛犊
驱动牛犊
  • 注册日期2002-06-30
  • 最后登录2002-10-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1456回复:3

NT驱动中有没有类似ntohs的函数

楼主#
更多 发布于:2002-08-06 20:27
在驱动中要转换字节顺序,该用什么函数?
NTDDK中也有winsock的库和头文件,但用了后驱动加载不上去(尽管编译连接都通过)。像winsock这样的win32函数,在驱动中应该是不能用的,不知M$为什么把它放进DDK中。
xi903
驱动牛犊
驱动牛犊
  • 注册日期2002-06-19
  • 最后登录2009-07-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-06 20:38
我也碰到过类似的情况,如果你是用driver studio进行开发的话,可以查阅driver studio的源代码==>tdiclient.h。
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-07 09:24
自己写一个啊!这样的程序也不难的啊
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-07 10:27
 
在驱动中要转换字节顺序,该用什么函数?
NTDDK中也有winsock的库和头文件,但用了后驱动加载不上去(尽管编译连接都通过)。像winsock这样的win32函数,在驱动中应该是不能用的,不知M$为什么把它放进DDK中。
 


guardee老大说的太对了,这种东西自己想想就有了,呵呵。给你两个宏,分别转换Long和Short型的字节顺序。

#define NET_HOST_LONG_CONVERT(Val) \\
((((Val) & 0x000000ff) << 24) | \\
(((Val) & 0x0000ff00) << 8) | \\
(((Val) & 0x00ff0000) >> 8) | \\
(((Val) & 0xff000000) >> 24) )

#define NET_HOST_SHORT_CONVERT(Val) \\
((((Val) & 0xff) << 8) | (((Val) & 0xff00) >> 8))

[编辑 -  8/7/02 by  SharpShooter]
写驱动不如买足彩!!
游客

返回顶部