2374|2

82

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

PC与PDA串口通信问题 [复制链接]

问题就下代码注释的,请哪位有大哥帮我下,谢谢了

ACCESSFILE_DATA是我自己定义的结构,如下:
typedef struct _ACCESSFILE_DATA
{
BOOL bResult;
DWORD dwLastError;
DWORD dwLen;
char szData[1024];
} ACCESSFILE_DATA;
下面是Upload的代码:

int nError;
char szPath[256];
DWORD dwWrite;
HANDLE hSendFile;
WCHAR wszPath[256];
CREATEFILE_PARAM param;
ACCESSFILE_DATA filedata;

memset(wszPath, 0, sizeof(wszPath));

memset(¶m, 0, sizeof(CREATEFILE_PARAM));
memset(&filedata, 0, sizeof(FINDFILE_DATA));

sprintf(szPath, "\\test.zip");

MultiByteToWideChar(CP_ACP, 0, szPath, strlen(szPath), param.szFileName, strlen(szPath));

param.dwDesiredAccess = GENERIC_WRITE;
param.dwShareMode = FILE_SHARE_WRITE;
param.dwCreationDisposition = CREATE_ALWAYS;
param.dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL;

if (MEPCClient_bCreateFile(m_pMEClient, ¶m, &filedata, &nError))
{
dwWrite = 0;

hSendFile = CreateFile(TEXT("test.zip"), GENERIC_READ, FILE_SHARE_READ,              
              NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hSendFile != INVALID_HANDLE_VALUE)
{
do
{
memset(&filedata, 0, sizeof(ACCESSFILE_DATA));

filedata.dwLen = 512;//这边我在Download用1024没有错,可是在这边就出错了?但是用512没有错!
                                //还有我想做下这样改进,要怎么做?
                                //当Upload第一次失败时,我就要把文件大小变成512,第一次我要用1024

ReadFile(hSendFile, filedata.szData, filedata.dwLen, &filedata.dwLen, NULL);

if (MEPCClient_bWriteFile(m_pMEClient, &filedata, &nError))
TRACE("bResult %d, dwLen %d\n", filedata.bResult, filedata.dwLen);
else
TRACE("Error %d\n", nError);
}
while (filedata.dwLen != 0 && filedata.bResult);
}

CloseHandle(hSendFile);
MEPCClient_bCloseFile(m_pMEClient, &filedata, &nError);
}

最新回复

不知道错误的时候就 Debug 看看每句代码执行的结果是什么,很快就能找出问题了,这里看不出来什么问题的。  详情 回复 发表于 2008-12-30 10:13
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
MEPCClient_bCreateFile( )是些什么函数?
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不知道错误的时候就 Debug 看看每句代码执行的结果是什么,很快就能找出问题了,这里看不出来什么问题的。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表