获取不到串口设备对象~!

jila2002 2009-11-18 10:14:05

#include <ntddk.h>
#include <ntstrsafe.h>


#define SERIAL_MAX_COUNT 32

void GetSerialDev(ULONG id,PDEVICE_OBJECT *device)
{
WCHAR szName[32]={0};
UNICODE_STRING usName;
NTSTATUS status;
PFILE_OBJECT fileobj=NULL;
//PDEVICE_OBJECT dveobj=NULL;

RtlStringCchPrintfW(szName,32,L"\\Device\\Serial%d",id);
RtlInitUnicodeString(&usName,szName);

status = IoGetDeviceObjectPointer(&usName,FILE_ALL_ACCESS,&fileobj,device);

if(status == STATUS_SUCCESS)
{
ObDereferenceObject(fileobj);
}
}


void DriverUnload(PDRIVER_OBJECT driver)
{

}

NTSTATUS DriverEntry(PDRIVER_OBJECT driver,PUNICODE_STRING reg_path)
{

PDEVICE_OBJECT devobjs[SERIAL_MAX_COUNT] = {0};
ULONG i = 0;
#if DBG
_asm int 3
#endif
for (i=0;i<SERIAL_MAX_COUNT;i++)
{
GetSerialDev(i,&devobjs[i]);
}

driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}


调试这段代码,设备对象一个都获取不到,请问是哪出的问题,还是系统问题呢。
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一条晚起的虫 2009-11-24
  • 打赏
  • 举报
回复
// 如果的确是如lz所说的情况,lz可以选择无满意结贴,或者由我结贴。
// 请lz申明情况。
用户 昵称 2009-11-19
  • 打赏
  • 举报
回复
没有满意回答可以选择无满意结贴。
jila2002 2009-11-18
  • 打赏
  • 举报
回复
晕。没错。重启虚拟机后可以获取了。
jila2002 2009-11-18
  • 打赏
  • 举报
回复
能自己给自己分数么

2,643

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧