1. 程式人生 > >國密SKF介面函式介紹之三:應用管理函式

國密SKF介面函式介紹之三:應用管理函式

概述
        應用管理主要完成應用的建立、列舉、刪除、開啟、關閉等操作。應用管理系列函式如下表所示:
表  應用管理系列函式
函式名稱 功能
SKF_CreateApplication 建立應用
SKF_EnumApplication 列舉應用
SKF_DeleteApplication 刪除應用
SKF_OpenApplication 開啟應用
SKF_CloseApplication 關閉應用
1、建立應用
函式原型:ULONG DEVAPI SKF_CreateApplication(DEVHANDLE hDev, LPSTR szAppName, LPSTR szAdminPin, DWORD dwAdminPinRetryCount,LPSTR szUserPin, DWORD dwUserPinRetryCount,DWORD dwCreateFileRights, HAPPLICATION *phApplication)
功能描述:建立一個應用。 
參        數:hDev:[IN] 連線裝置時返回的裝置控制代碼。
                    szAppName:[IN] 應用名稱。
                    szAdminPin:[IN] 管理員PIN。
                    dwAdminPinRetryCount:[IN] 管理員PIN最大重試次數。
                    szUserPin:[IN] 使用者PIN。
                    dwUserPinRetryCount:[IN] 使用者PIN最大重試次數。
                    dwCreateFileRights:[IN] 在該應用下建立檔案和容器的許可權,參見6.4.9許可權型別。為各種許可權的或值。
                    phApplication:[OUT] 應用的控制代碼。
返  回  值:SAR_OK:成功;其他:錯誤碼。
備        注:許可權要求:需要裝置許可權。
2、列舉應用

函式原型:ULONG DEVAPI SKF_EnumApplication(DEVHANDLE hDev, LPSTR szAppName,ULONG *pulSize)
功能描述:列舉裝置中存在的所有應用。
參        數::hDev:[IN] 連線裝置時返回的裝置控制代碼。
                     szAppName:[OUT] 返回應用名稱列表, 如果該引數為空,將由pulSize返回所需要的記憶體空間大小。每個應用的名稱以單個‘\0’結束,以雙‘\0’表示列表的結束。
                     pulSize:[IN,OUT] 輸入時表示應用名稱的緩衝區長度,輸出時返回szAppName所佔用的空間大小。
返  回  值:SAR_OK:成功;其他:錯誤碼。
3、刪除應用

函式原型:ULONG DEVAPI SKF_DeleteApplication(DEVHANDLE hDev, LPSTR szAppName)
功能描述:刪除指定的應用。
參        數:hDev:[IN] 連線裝置時返回的裝置控制代碼。
                    szAppName:[IN] 應用名稱。
返  回  值:SAR_OK:成功;其他:錯誤碼。
備        注:許可權要求:需要裝置許可權。
4、開啟應用
函式原型:ULONG DEVAPI SKF_OpenApplication(DEVHANDLE hDev, LPSTR szAppName, HAPPLICATION *phApplication)
功能描述:開啟指定的應用。
參        數:hDev:[IN] 連線裝置時返回的裝置控制代碼。
                    szAppName:[IN] 應用名稱。
                    phApplication:[OUT] 應用的控制代碼。
返  回  值:SAR_OK:成功;其他:錯誤碼。
5、關閉應用

函式原型:ULONG DEVAPI SKF_CloseApplication(HAPPLICATION hApplication)
功能描述:關閉應用並釋放應用控制代碼。
參        數:hApplication:[IN]應用控制代碼。
返  回  值:SAR_OK:成功;其他:錯誤碼。
備        注:此函式不影響應用安全狀態。