首页
社区
课程
招聘
win7 64位系统 vs2013+wdk8.1写驱动 exe与sys通信
发表于: 2017-7-20 19:36 3715

win7 64位系统 vs2013+wdk8.1写驱动 exe与sys通信

2017-7-20 19:36
3715

sys部分没有问题,能正确的创建符号链接,但是exe部分用CreateFile打开符号链接老是失败!

#include "stdafx.h"

#include <Windows.h>

#include "func.h"

#define func_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS)

void Pass(HANDLE hDevice,int pid)

{

DWORD dwWrite;

DeviceIoControl(hDevice, func_code, &pid, 4, NULL,4, &dwWrite, NULL);//将pid传送给驱动

}

int _tmain(int argc, _TCHAR* argv[])

{

int pid = 0;

printf("请输入待保护进程的pid:\r\n");

scanf_s("%d", &pid);

printf("输入进程的pid=%d\r\n", pid);

HANDLE hDevice =

::CreateFile(

"\\\\.\\weiddk001", //\\??\\WeiLinkerName

GENERIC_READ|GENERIC_WRITE,

0,

NULL,

OPEN_EXISTING,

0,

NULL

);

if (hDevice == INVALID_HANDLE_VALUE)

{

printf("获取驱动句柄失败!");

getchar();

Sleep(5000);

return 0;

}

Pass(hDevice, pid);

getchar();

Sleep(5000);

return 0;

}

运行情况如下图,请问怎么回事啊,整了一下午了啊,实在是解决不了了啊!



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 364
活跃值: (1741)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
权限    或者IRP_MJ_CREATE函数有问题
2017-7-20 22:39
0
雪    币: 0
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
lz可以尝试一下,createfile的dwFlagsAndAttributes参数设置一下,设置成FILE_ATTRIBUTE_NORMAL试一下
2017-7-20 22:44
0
雪    币: 171
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
woshidc lz可以尝试一下,createfile的dwFlagsAndAttributes参数设置一下,设置成FILE_ATTRIBUTE_NORMAL试一下
这个试过了啊,没有用啊
2017-7-21 07:52
0
雪    币: 171
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
wujimaa 权限 或者IRP_MJ_CREATE函数有问题
已经解决了,谢谢大家啊,派遣函数注册的不全,我以为不用都注册呢,结果把剩下的派遣注册了以后就没有问题了!
2017-7-21 08:07
0
雪    币: 0
活跃值: (143)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
haodawei 已经解决了,谢谢大家啊,派遣函数注册的不全,我以为不用都注册呢,结果把剩下的派遣注册了以后就没有问题了!
不用全注册啊,注册你要用的就好了呀,基本的create  read  write+deviceiocontrol那个就好了呀。
2017-11-24 11:03
0
游客
登录 | 注册 方可回帖
返回
//