首页
社区
课程
招聘
未解决 [求助]InitializeObjectAttributes如何使用?
发表于: 2019-3-14 06:05 2909

未解决 [求助]InitializeObjectAttributes如何使用?

2019-3-14 06:05
2909
#include <ntddk.h>

//写一个卸载函数
void DriverUnload(PDRIVER_OBJECT pDriver)
{
       //pDriver;
       KdPrint(("xie  zai"));
}


//写一个入口函数
NTSTATUS DriverEntry(
       IN PDRIVER_OBJECT pDriver,  //代表本驱动的驱动对象
       IN PUNICODE_STRING  szPath //驱动的路径,在注册表中
       )
{
    HANDLE hFile = NULL;
    IO_STATUS_BLOCK ioStatus;
    NTSTATUS        ntStatus;

    OBJECT_ATTRIBUTES oa;
    UNICODE_STRING usPath;
    RtlInitUnicodeString(&usPath,L"\\??\\c:\\log.log");

    InitializeObjectAttributes(&oa,&usPath,OBJ_KERNEL_HANDEL|OBJ_CASE_INSENSITIVE,NULL,NULL);
    //编译提示:OBJ_KERNEL_HANDEL”: 未声明的标识符,为什么不存在?

    ntStatus = ZwCreateFile(&hFile,GENERIC_READ|GENERIC_WRITE,&oa,&ioStatus,NULL,FILE_ATTRIBUTE_NORMAL,
        FILE_SHARE_READ,FILE_OPEN_IF,FILE_NON_DIRECTORY_FILE|FILE_RANDOM_ACCESS|FILE_SYNCHRONOUS_IO_NONALERT,
        NULL,NULL);
    
    ZwWriteFile(hFile,NULL,NULL,NULL,&ioStatus,usPath.Buffer,usPath.Length,NULL,NULL);

    pDriver->DriverUnload = DriverUnload;//填写卸载函数。

    return STATUS_SUCCESS;             //返回成功的意思
}


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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 407
活跃值: (1851)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大胸弟是OBJ_KERNEL_HANDLE,不是OBJ_KERNEL_HANDEL
2019-3-14 09:08
1
雪    币: 5514
活跃值: (2254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Thead 大胸弟是OBJ_KERNEL_HANDLE,不是OBJ_KERNEL_HANDEL
谢谢,点赞+1
2019-3-14 13:14
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
4
打开 wrkreactosnt4,复制粘贴不就行了[em_2]
最后于 2019-3-15 10:13 被sudami编辑 ,原因:
2019-3-15 10:09
2
雪    币: 53
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
为什么你不用个好点的 IDE 呢, 自动补全就不会犯这种低级错误了, 如果你是复制粘贴的代码, 那当我没说.
2019-3-21 09:17
0
雪    币: 5514
活跃值: (2254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
abeyy 为什么你不用个好点的 IDE 呢, 自动补全就不会犯这种低级错误了, 如果你是复制粘贴的代码, 那当我没说.[em_1]
不会用呀,感觉配置,比写代码还难。按网上的帖子,不知怎么总出错
2019-3-21 13:36
0
游客
登录 | 注册 方可回帖
返回
//