//打开设备一个真实的串口名称驱动;
//----------------------------------------------------------------------
PFILE_OBJECT fileobj = NULL;//文件驱动
PDEVICE_OBJECT next= NULL;//设备驱动
NTSTATUS *status11;//完成状态
UNICODE_STRING openName;//设备名称
RtlInitUnicodeString(&openName,L"//Device//Serial0");
*status11 = IoGetDeviceObjectPointer(&openName,FILE_ALL_ACCESS,&fileobj,&next);
if(*status11==STATUS_SUCCESS)
{
KdPrint(("设备打开成功SS"));
ObDereferenceObject(fileobj);
IoDeleteDevice(next);//这句是卸载设备;这里可以不用;
}
else
{
KdPrint(("设备打开失败unss"));
}
//创建一个虚拟的设备驱动然后将虚拟的设备和真实的串口设备绑定。这样就可以得到真实的设备驱动的所有数据;