标题:小弟初学驱动遇到问题
只看楼主
a8021
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-3-23
结帖率:80%
已结贴  问题点数:5 回复次数:1 
小弟初学驱动遇到问题
表于 前天 23:14 |只看该作者 |倒序浏览
分享到: 新浪微博 QQ空间 开心网 人人网
#include<ntddk.h>
#include <windef.h>
NTSTATUS CreateMyDevice (IN PDRIVER_OBJECT pDriverObject);//函数前置说明
VOID jiang(PDRIVER_OBJECT A);//函数前置说明
NTSTATUS add(IN PDEVICE_OBJECT A,IN PIRP pIrp);//函数前置说明
NTSTATUS DriverEntry(PDRIVER_OBJECT A,PUNICODE_STRING B)
{
  A->MajorFunction[IRP_MJ_CREATE]=add;//注册派遣函数
  A->MajorFunction[IRP_MJ_CLOSE]=add;
  A->MajorFunction[IRP_MJ_WRITE]=add;
  A->MajorFunction[IRP_MJ_READ]=add;
  A->DriverUnload=jiang;//注册卸载例程
  return(1);
}
VOID jiang(PDRIVER_OBJECT A)//卸载例程
{
  PDEVICE_OBJECT pdx;
  UNICODE_STRING tu;
  RtlInitUnicodeString(&tu,L"\\??\\yjx883");
  pdx=A->DeviceObject;
  IoDeleteDevice(pdx);
  IoDeleteSymbolicLink(&tu);
  DbgPrint("卸载成功");
}
NTSTATUS CreateMyDevice (IN PDRIVER_OBJECT pDriverObject)//创建设备例程
{
  NTSTATUS status;
  PDEVICE_OBJECT pDevObj;
  UNICODE_STRING devName;
  UNICODE_STRING tu;
  RtlInitUnicodeString(&tu,L"\\??\\jjj883");
  RtlInitUnicodeString(&devName,L"\\Device\\jjj884");
  status=IoCreateDevice(pDriverObject,0,&devName,FILE_DEVICE_UNKNOWN,0,TRUE,&pDevObj);
  pDevObj->Flags |= DO_BUFFERED_IO;//以缓冲区方式操作
  status = IoCreateSymbolicLink( &tu,&devName );//创建符号链接
  DbgPrint("设备创建成功");
  return(1);
}
NTSTATUS add(IN PDEVICE_OBJECT A,PIRP pIrp)//派遣函数例程
{
   ULONG arr;
   NTSTATUS dd;
   PIO_STACK_LOCATION stack;
   dd=STATUS_SUCCESS;
   pIrp->IoStatus.Status=dd;//返回状态
   stack=IoGetCurrentIrpStackLocation(pIrp);//得到IO堆栈
   arr=stack->Parameters.Read.Length;
   pIrp->IoStatus.Information=arr;
   memset(pIrp->AssociatedIrp.SystemBuffer,0xAA,arr);
   IoCompleteRequest(pIrp,IO_NO_INCREMENT);//结束IRP
   return dd;
}
小弟初学驱动写了几行可是win32CreateFile函数返回INVALID_HANDLE_VALUE,
win32程序也没有错各位帮忙看看吧先谢了
搜索更多相关主题的帖子: 开心网 新浪微博 include 人人网 jiang 
2014-09-10 09:09
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:5 
到看雪去问问吧  来这里问 似乎来错地方了

DO IT YOURSELF !
2014-09-10 09:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-435904-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.114914 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved