國密SKF介面函式介紹之四:檔案管理函式
阿新 • • 發佈:2019-01-26
概述
檔案管理函式用以滿足使用者擴充套件開發的需要,包括建立檔案、刪除檔案、列舉檔案、獲取檔案資訊、檔案讀寫等操作。檔案管理系列函式如下表所示:
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:成功;其他:錯誤碼。
備 注:建立檔案需要應用指定的建立檔案許可權。
參 數: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:成功;其他:錯誤碼。
備 注:許可權要求:須具備該檔案的寫許可權。
檔案管理函式用以滿足使用者擴充套件開發的需要,包括建立檔案、刪除檔案、列舉檔案、獲取檔案資訊、檔案讀寫等操作。檔案管理系列函式如下表所示:
表:檔案管理系列函式
函式名稱 | 功能 |
SKF_CreateFile | 建立檔案 |
SKF_DeleteFile | 刪除檔案 |
SKF_EnumFiles | 列舉檔案 |
SKF_GetFileInfo | 獲取檔案資訊 |
SKF_ReadFile | 讀檔案 |
SKF_WriteFile | 寫檔案 |
函式原型: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:成功;其他:錯誤碼。
備 注:許可權要求:須具備該檔案的寫許可權。