-
-
[求助]关于设备对象中设备扩展的一点疑问
-
发表于:
2017-11-15 21:32
2296
-
新手学驱动,一点疑问,可能有点小白,希望大神能解答一下。
首先关于设备扩展这个概念,我从网上获得的信息是在调用IoCreateDevice这个函数生成一个设备对象时,预留的一个空间,这个空间用来存放程序员自定义的一些数据(例如这个设备的名字或者链接符号等等。)
设备对象,是一个结构体,那么我的疑问就是,这个设备扩展 是否就是这个设备对象里面的一个元素。
如果是
那么有一下代码
typedef struct _TEST
{
UNICODE_STRING str;
}TEST,*PTEST
PTEST test;
IoCreateDevice(x,sizeof(TEST),x,x,x,x,&pdeviceobject);
test=(PTEST)pdevice->DeviceExtension;
然后是填充test的相关元素。
以上是常见用法
我的疑问是 test实际上是个单独的变量,我的理解 这个变量并不在生成的设备对象内。
那么 在调用
IoCreateDevice 填入sizeof(TEST)这个参数的意义何在呢?
我直接填入个NULL,然后把相关信息写进我自定义的结构体里不就得了?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)