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调用,所以上面的语言比较乱,但是保证语法正确
我想异步读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调用,所以上面的语言比较乱,但是保证语法正确