38.9.4.18 读取CF卡文件列表(可选文件夹名称)

CF卡中的文件列表被输出到作为参数发送的文件。可以定义待获取文件列表的文件夹。

函数名称

INT WINAPI EasyGetListInCfCard(LPCSTR sNodeName,LPCSTR sDirectory, INT* oiCount,LPCSTR sSaveFileName);

参数

sNodeName:站名称固定为#WinGP。

sDirectory:要获取的文件夹名称(全部为大写字母)

oiCount:已读取的文件数

sSaveFileName:保存目录信息的文件名。在指定的文件中,保存在stEasyDirInfo格式化数组中的数据是以ioCount中返回的数量用二进制数据进行保存的。

struct stEasyDirInfo {
  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];// File timestamp (NULL terminated)
  BYTE bDummy2[3];// Dummy 2
} ;

返回值(NULL)

正常结束: 0

重大错误:错误代码

特殊项目

有关bFileTimeStamp的更多信息:8个字节被分为两部分。上面的4个字节用来保存MS-DOS格式时间,下面的4个字节用来保存MS-DOS格式日期,两者都采用十六进制值。

MS-DOS格式日期和时间格式如下。

示例:如果20C42C22, 2C22是以十六进制显示的MS-DOS日期,20C4是以十六进制显示的MS-DOS时间。因此,它表示2002/1/2 04:06:08。

MS-DOS格式时间。日期使用如下格式将日期转换成16位值。

如果读取文件的列表中包含少于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******** (****表示未定义值)