国密SKF接口函数介绍之四:文件管理函数

概述
        文件管理函数用以满足用户扩展开发的需要,包括创建文件、删除文件、枚举文件、获取文件信息、文件读写等操作。文件管理系列函数如下表所示:

表:文件管理系列函数

函数名称 功能
SKF_CreateFile 创建文件
SKF_DeleteFile 删除文件
SKF_EnumFiles 枚举文件
SKF_GetFileInfo 获取文件信息
SKF_ReadFile 读文件
SKF_WriteFile 写文件
1、创建文件
函数原型:ULONG DEVAPI SKF_CreateFile (HAPPLICATION hApplication, LPSTR szFileName, ULONG ulFileSize, ULONG ulReadRights,ULONG ulWriteRights)
功能描述:创建文件时要指定文件的名称,大小,以及文件的读写权限。
参        数:hApplication:[IN] 应用句柄。
                    szFileName:[IN] 文件名称,长度不得大于32个字节。
                    ulFileSize:[IN] 文件大小。
                    ulReadRights:[IN] 文件读权限,参见6.4.9 权限类型。可为各种权限的或值。
                    ulWriteRights:[IN] 文件写权限,参见6.4.9权限类型。可为各种权限的或值。
返  回  值:SAR_OK:成功;其他:错误码。
备        注:创建文件需要应用指定的创建文件权限。

2、删除指定文件

函数原型:ULONG DEVAPI SKF_DeleteFile (HAPPLICATION hApplication, LPSTR szFileName)

功能描述:文件删除后,文件中写入的所有信息将丢失。文件在设备中的占用的空间将被释放。
参        数:hApplication:[IN] 要删除文件所在的应用句柄。
                    szFileName:[IN] 要删除文件的名称。
返  回   值:SAR_OK:成功;其他:错误码。
备         注:权限要求:删除一个文件应具有对该文件的创建权限。
3、枚举文件
函数原型:ULONG DEVAPI SKF_EnumFiles (HAPPLICATION hApplication, LPSTR szFileList, ULONG *pulSize)
功能描述:枚举一个应用下存在的所有文件。
参        数:hApplication:[IN] 应用句柄。
                    szFileList:[OUT] 返回文件名称列表,该参数为空,由pulSize返回文件信息所需要的空间大小。每个文件名称以单个‘\0’结束,以双‘\0’表示列表的结束。
                    pulSize:[IN,OUT] 输入时表示数据缓冲区的大小,输出时表示实际文件名称列表的长度。
返  回  值:SAR_OK:成功;其他:错误码。
4、获取文件属性
函数原型:ULONG DEVAPI SKF_GetFileInfo (HAPPLICATION hApplication, LPSTR szFileName, FILEATTRIBUTE *pFileInfo)
功能描述:获取文件信息:获取应用文件的属性信息,例如文件的大小、权限等。
参        数:hApplication:[IN] 文件所在应用的句柄。
                    szFileName:[IN] 文件名称。
                    pFileInfo: [OUT] 文件信息,指向文件属性结构的指针。
返  回  值:SAR_OK:成功;其他:错误码。
5、读文件
函数原型:ULONG DEVAPI SKF_ReadFile (HAPPLICATION hApplication, LPSTR szFileName, ULONG ulOffset, ULONG ulSize, BYTE * pbOutData, ULONG *pulOutLen)
功能描述:读取文件内容。
参        数:hApplication:[IN] 应用句柄。
                    szFileName:[IN] 文件名。
                    ulOffset:[IN] 文件读取偏移位置。
                    ulSize:[IN] 要读取的长度。
                    pbOutData:[OUT] 返回数据的缓冲区。
                    pulOutLen:[IN,OUT]输入时表示给出的缓冲区大小;输出时表示实际读取返回的数据大小。
返  回  值:SAR_OK:成功;其他:错误码。
备        注:权限要求:须具备对该文件的读权限。
6、写文件
函数原型:ULONG DEVAPI SKF_WriteFile (HAPPLICATION hApplication, LPSTR szFileName, ULONG  ulOffset, BYTE *pbData, ULONG ulSize)
功能描述:写数据到文件中。
参        数:hApplication:[IN] 应用句柄。
                    szFileName:[IN] 文件名。
                    ulOffset:[IN] 写入文件的偏移量。
                    pbData:[IN] 写入数据缓冲区。
                    ulSize:[IN] 写入数据的大小。
返  回  值:SAR_OK:成功;其他:错误码。
备        注:权限要求:须具备该文件的写权限。

你可能感兴趣的:(国密标准)