birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1914回复:7

在passthru中加入RtlInitUnicodeString、IoCreateDevice等编译不过

楼主#
更多 发布于:2004-09-18 10:30
我想在passthru中加入和应用程序通信的代码,仿照packet中的加入IoCreateDevice等代码,但是编译不过,如下:
assthru.c(81) : error C4013: 'RtlInitUnicodeString' undefined; assuming extern returning int
passthru.c(83) : error C4013: 'IoCreateDevice' undefined; assuming extern returning int
我包含了ntddk.h头文件啊,是版本问题吗,敬请指点


[编辑 -  9/19/04 by  birdtomaster]
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-22 17:08
解决了问题,得分是应该的,分嘛,我不断赚得有,呵呵
请继续帮助 :D
laotiu
驱动牛犊
驱动牛犊
  • 注册日期2003-05-26
  • 最后登录2005-04-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-21 17:54
呵呵,这个家伙到处蹭分啊,不过也好,不然没这么多热心的了
QQ:50528814,技术交流
sword3i
驱动牛犊
驱动牛犊
  • 注册日期2003-07-25
  • 最后登录2013-01-07
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望112点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-21 14:03
惭愧,论坛上早就有详细的说明了,我只是来蹭分而已
随风奔跑自由是方向 追逐雷和闪电的力量 把浩瀚的海洋装进我胸膛 即使再小的帆也能远航 随风飞翔有梦作翅膀 敢爱敢做勇敢闯一闯 哪怕遇见再大的风险再大的浪 也会有默契的目光 努力蹭分! ..................
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-21 13:19
#define NDIS_WDM 1 //在ndis中调用wdn函数

给分!!!


实在是高!给,最高只能给20,另外还有同一贴,请搜索光顾一下,还给你20分,共给40分
sword3i
驱动牛犊
驱动牛犊
  • 注册日期2003-07-25
  • 最后登录2013-01-07
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望112点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-20 17:07
#define NDIS_WDM 1 //在ndis中调用wdn函数

给分!!!
随风奔跑自由是方向 追逐雷和闪电的力量 把浩瀚的海洋装进我胸膛 即使再小的帆也能远航 随风飞翔有梦作翅膀 敢爱敢做勇敢闯一闯 哪怕遇见再大的风险再大的浪 也会有默契的目光 努力蹭分! ..................
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-09-19 12:58
#include "iocontrol.h"
#include "ntddk.h"
#include "wdm.h"
#include "ndis.h"
#include "stdio.h"
...

driverentry()...

NTSTATUS                        Status = STATUS_SUCCESS;
WCHAR                   deviceNameBuffer[]  = L"\\Device\\passthru";
    WCHAR                   deviceLinkBuffer[]  = L"\\DosDevices\\passthru";
    UNICODE_STRING          ntDeviceName;
    UNICODE_STRING          win32DeviceName;
BOOLEAN                 fSymbolicLink = FALSE;
    PDEVICE_OBJECT          deviceObject;


NdisInitUnicodeString( &ntDeviceName, deviceNameBuffer);

Status = IoCreateDevice (DriverObject,
                             0,                             &ntDeviceName,
                             FILE_DEVICE_PASSTHRU,
                             0,
                             TRUE,
                             &deviceObject);
用NdisInitUnicodeString行,用RtlInitUnicodeString就不行,但是IoCreateDevice始终显示是没有定义函数,还有几个也这样,ddk帮助文档里面好像说NDIS里面不能用IoCreateDevice,NDIS drivers should never call IoCreateDevice or IoCreateSymbolicLink. Instead, if an NDIS driver must create a device object, it should call NdisMRegisterDevice.

但是packet例程里面就用了,没有问题啊?

WY.lslrt
驱动牛犊
驱动牛犊
  • 注册日期2004-07-30
  • 最后登录2009-10-27
  • 粉丝0
  • 关注0
  • 积分116分
  • 威望15点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-09-19 09:05
是不是,没有包含相应的头文件
---传说中的分割线--------
游客

返回顶部