windowsNT4.0下设备驱动程序的开发与应用(3)
- UID
- 1023166
- 性别
- 男
- 来自
- 燕山大学
|
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(!CloseHandlehndFile)) //关闭设备
{
printf(″Failed to close device.\n″);
}
}
以上介绍了Windows NT4.0设备驱动程序开发中的一般性过程。用户可利用NT SDK 及DDK开发工具包,并根据自身需要,对以上核心代码进行扩充完成所需任务。 |
|
|
|
|
|