阅读:5098回复:5
WriteFIle错误,返回错误代码6
小弟最近写了一个USB读写的应用程序,主要是用CreateFile,WriteFile和ReadFile,在CreateFile成功后,返回设备句柄hDevice
hDevice = CreateFile(DevicePath, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL ); 但在使用WriteFile时总是返回错误代码6,句柄无效! 此时查看句柄仍然hDevice = 0x000007ac,这和创建文件时的句柄一致 DWORD lpdwBytesWritten=0; char sBuffer[12]; memset(sBuffer, (char)NULL, sizeof(sBuffer)); strcpy(sBuffer, "Hello World"); if (!WriteFile(hDevice,sBuffer,12,&lpdwBytesWritten,NULL)) { printf("ERROR: WriteFile returns %0x.\n", GetLastError()); exit(1); } 原因找了半天也没找到,哪位大侠能帮帮小弟呢 |
|
沙发#
发布于:2009-05-16 18:31
哥们,我知道你肯定CreateFile不对才导致WriteFile中的句柄无效,我的也是这个问题,不知道为什么
|
|
板凳#
发布于:2009-07-07 16:51
Re:WriteFIle錯誤,返回錯誤代碼6
我也遇到一樣的問題,正在找解進辦法!!!ReadFile OK..但WriteFile (LastErrorCode=0x57) , Handle=0x50,真弄不懂為什麼。 |
|
地板#
发布于:2009-07-07 20:11
哥们,问题解决了么?我也是这个问题,
|
|
地下室#
发布于:2010-01-15 09:38
哥门,您们的问题都搞定了吗?我也遇到同样的问题...
|
|
5楼#
发布于:2010-08-03 16:44
我也碰到这个问题,getlasterror返回0x57的错误
后来发现是creatfile的时候overlap设置错误导致的 |
|