昨天写了最最简单的驱动,一个c文件,一个makefile,一个Sources,就行了,今天要向C文件中添加更多的东西,首先第一就是设备创建。
设备创建很简单,第一步,创建设备名称,第二步,创建设备,第三部创建符号链接。当然其中最重要的一个函数就是创建设备IoCreateDevice()了。总共七个参数,第一个是DriverObject,驱动对象的指针。第二个DeviceExtensionSize,指定设备扩展的大小。第三个DeviceName,设置设备对象的名字。第四个DeviceType,用FILE_DEVICE_UNKNOWN。第五个DeviceCharacteristics,设置设备对象的特征,为0。第六个Exclusive,设置设备对象是否为内核模式下使用,设为TRUE(犯了个错误,用了系统直接给的true,结果出错了),最后一个是DeviceObject,输出参数,返回这个设备对象的地址(记得是地址哦,前面有&)。用CreateDevice函数来封装
NTSTATUS CreateDevice (IN PDRIVER_OBJECT pDriverObject)
{
NTSTATUS status;
PDEVICE_OBJECT pDevObj;/*用来返回创建设备*/
//创建设备名称
UNICODE_STRING devName;