将CF卡中的文件列表输出到作为参数发送的文件。读取的文件列表是通过递归搜索“sDirectory”中指定文件夹而获取的所有文件。
函数名称
INT WINAPI EasyGetListRecursivelyInCard(LPCSTR sNodeName, LPCSTR sDirectory, INT* oiCount, LPCSTR sSaveFileName);
参数
sNodeName:站名称固定为#WinGP。
sDirectory:获取目录名称,全部用大写字符。仅支持如下目录。
LOG (日志数据)
TREND (趋势图数据)
ALARM (报警数据)
CAPTURE (截图数据)
FILE (配方数据)
oiCount:已读取的文件数
sSaveFileName:保存目录信息的文件名。在指定的文件中,stEasyRecursiveDirInfo格式化数组中的数据是以ioCount中返回的数量用二进制数据进行保存的。
struct stEasyRecursiveDirInfo {
BYTE bFileName[8+1];// Filename (NULL terminated)
BYTE bExt[3+1];// File extension (NULL terminated)
BYTE bDummy[3];// Dummy
DWORD dwFileSize;// File size
BYTE bFileTimeStamp[8+1];// Time stamp of file (NULL terminated)
BYTE bFolderName[260+1];// Folder name (NULL terminated. 0 is stored in the remaining part)
BYTE bDummy2[2];// Dummy-2
} ;
返回值
正常结束: 0
重大错误:错误代码
如果读取文件的列表中包含少于8个字符的文件名,或少于3个字符的文件扩展名,bFileName[8+1]和bExt[3+1]将显示如下。
bFileName[8+1] |
当文件名少于8个字符时,开始的空位置用“0”填充,后面未定义。 |
bExt[3+1] |
当文件扩展名少于3个字符时,开始的空位置用“0”填充,后面未定义。 |
(例如) 文件名和文件扩展名为“ABC.D”
bFileName[8+1] |
0x410x420x430x00******************** (****表示未定义值) |
bExt[3+1] |
0x440x00******** (****表示未定义值) |