1. 程式人生 > >國密SKF介面函式介紹之四:檔案管理函式

國密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:成功;其他:錯誤碼。
備        注:許可權要求:須具備該檔案的寫許可權。