old
old
驱动牛犊
驱动牛犊
  • 注册日期2001-04-23
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3231回复:1

Nt DDK CreatFile失败,怎么回事?

楼主#
更多 发布于:2001-04-25 11:26
在sys中定义了一下结构
struct driver natdriver
={ NULL,
   NULL,
   0,
   L"\\Device\\IdNat",
   L"\\DosDevices\\IdNat" };
成功生成IdeaNat.sys。
在注册表中添加如下内容:
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IDEALNAT]
"Type"=dword:00000001
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"DisplayName"="Ideal Network Address Translate Service"
"ImagePath"="\\SystemRoot\\System32\\drivers\\idealnat.sys"
"DependOnGroup"=hex(7):4e,44,49,53,00,00
"DependOnService"=hex(7):00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IDEALNAT\Enum]
"0"="Root\\LEGACY_IDEALNAT\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001

但是在程序中执行以下语句失败。
CreateFile("\\\\.\\IdNat",GENERIC_WRITE | GENERIC_READ,
                             0,NULL,CREATE_ALWAYS,FILE_FLAG_OVERLAPPED,0);
怎么回事呢?还需要在注册表中作其他修改吗?

最新喜欢:

wingmanwingma...
old
gfsoft
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录2005-10-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-04-27 17:32
CreateFile的语句没有错,
是你的sys没有注册到系统了,
注册一个驱动不只是注册这两个地方,
Root\LEGACY_IDEALNAT\
下面的也需要注册,这个你不能修改,只能系统自己来修改,
你可以调用
createserver来注册一个sys
有信心不一定会赢,没有信心一定会输
游客

返回顶部