首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

windowsNT4.0下设备驱动程序的开发与应用(3)

windowsNT4.0下设备驱动程序的开发与应用(3)

GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL
if (hndFile == INVALID_HANDLE_VALUE)
{
printf(″Unable to open the device.\n″);
exit(1);
}
IoctlCode = IOCTL_Function1; //自定义功能代码
Parameter1 = 1;
DataLength = sizeof(DataBuffer.CharData);
IoctlResult = DeviceIoControl(
hndFile //设备文件句柄
IoctlCode//功能代码,对应IRP中的Parameter.
//DeviceIoControl.IoControlCode域
&Parameter1,//传递到驱动程序的参数缓冲区,对应
//IRP中的AssociatedIrp.SystemBuffer
sizeof(Parameter1) //参数缓冲区长度
&DataBuffer, //从驱动程序传出的数据缓冲区
DataLength, //缓冲区长度
&ReturnedLength, //返回的实际缓冲区长度
NULL //等待,直到操作完成
);
if(!CloseHandlehndFile)) //关闭设备

{
printf(″Failed to close device.\n″);
}

以上介绍了Windows NT4.0设备驱动程序开发中的一般性过程。用户可利用NT SDK 及DDK开发工具包,并根据自身需要,对以上核心代码进行扩充完成所需任务。
返回列表