硬件接口编程问题!急!谢谢!(100分)

  • 主题发起人 主题发起人 wanpeng
  • 开始时间 开始时间
W

wanpeng

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟初涉及硬件编程,请各位老大多多帮忙!感激不尽!
我想异步读USB的信息,注意是异步,同步可以成功:
hDev := CreateFile(
DevInterface.DevicePath(),
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,
NULL
);
Quit := False;
while not Quitdo
begin
Application.ProcessMessages;
bRet := ReadFile(hDev,lpBuf,dwLength,&dwReturned,lpOverlapped);
end;

OnClick: Quit=True;
可是根本无法读出我的硬件,我用
WaitForSingleObject(lpOverlapped->hEvent, 2000)
可以响应IO操作,但是ReadFile读不出来,为什么呢?
因为是用VC编DLL,Delphi调用,所以上面的语言比较乱,但是保证语法正确
 
延时问题没有处理,还有就是可以专门为其分配线程进行处理,这样就可以实现
 
dwLength = ???
 
这和驱动程序有关,如果低层驱动程序没有的功能,高层程序是不能实现的
 
接受答案了.
 
后退
顶部