# FileShare ## 概述 æ¤æ¨¡å—æ供文件分享功能,以授æƒå¯¹å…¶ä»–应用程åºå…·æœ‰è¯»å†™æƒé™çš„公共目录文件的统一资æºæ ‡è¯†ç¬¦ï¼ˆURI)。 **起始版本:** 12 ## 汇总 ### 文件 | å称 | æè¿° | | -------- | -------- | | [oh_file_share.h](oh__file__share_8h.md) | æ供基于URI的文件åŠç›®å½•æŽˆäºŽæŒä¹…化æƒé™ã€æƒé™æ¿€æ´»ã€æƒé™æŸ¥è¯¢ç‰æ–¹æ³•ã€‚ | ### 结构体 | å称 | æè¿° | | -------- | -------- | | struct [FileShare_PolicyErrorResult](_file_share___policy_error_result.md) | 授予或使能æƒé™å¤±è´¥çš„URIç–略结果。 | | struct [FileShare_PolicyInfo](_file_share___policy_info.md) | 需è¦æŽˆäºˆæˆ–使能æƒé™URIçš„ç–略信æ¯ã€‚ | ### 类型定义 | å称 | æè¿° | | -------- | -------- | | typedef enum [FileShare_OperationMode](#fileshare_operationmode-1) [FileShare_OperationMode](#fileshare_operationmode) | URIæ“作模å¼æžšä¸¾å€¼ã€‚ | | typedef enum [FileShare_PolicyErrorCode](#fileshare_policyerrorcode-1) [FileShare_PolicyErrorCode](#fileshare_policyerrorcode) | 授予或使能æƒé™ç–略失败的URI对应的错误ç 枚举值。 | | typedef struct [FileShare_PolicyErrorResult](_file_share___policy_error_result.md) [FileShare_PolicyErrorResult](#fileshare_policyerrorresult) | 授予或使能æƒé™å¤±è´¥çš„URIç–略结果。 | | typedef struct [FileShare_PolicyInfo](_file_share___policy_info.md) [FileShare_PolicyInfo](#fileshare_policyinfo) | 需è¦æŽˆäºˆæˆ–使能æƒé™URIçš„ç–略信æ¯ã€‚ | ### 枚举 | å称 | æè¿° | | -------- | -------- | | [FileShare_OperationMode](#fileshare_operationmode) {<br/>READ_MODE = 1 << 0,<br/>WRITE_MODE = 1 << 1<br/>} | URIæ“作模å¼æžšä¸¾å€¼ã€‚ | | [FileShare_PolicyErrorCode](#fileshare_policyerrorcode) {<br/>PERSISTENCE_FORBIDDEN = 1,<br/>INVALID_MODE = 2,<br/>INVALID_PATH = 3,<br/>PERMISSION_NOT_PERSISTED = 4<br/>} | 授予或使能æƒé™ç–略失败的URI对应的错误ç 枚举值。 | ### 函数 | å称 | æè¿° | | -------- | -------- | | [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode) [OH_FileShare_PersistPermission](#oh_fileshare_persistpermission) (const [FileShare_PolicyInfo](_file_share___policy_info.md) \*policies, unsigned int policyNum, [FileShare_PolicyErrorResult](_file_share___policy_error_result.md) \*\*result, unsigned int \*resultNum) | 对所选择的多个文件或目录URIæŒä¹…化授æƒã€‚ | | [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode) [OH_FileShare_RevokePermission](#oh_fileshare_revokepermission) (const [FileShare_PolicyInfo](_file_share___policy_info.md) \*policies, unsigned int policyNum, [FileShare_PolicyErrorResult](_file_share___policy_error_result.md) \*\*result, unsigned int \*resultNum) | 对所选择的多个文件或目录uriå–消æŒä¹…化授æƒã€‚ | | [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode) [OH_FileShare_ActivatePermission](#oh_fileshare_activatepermission) (const [FileShare_PolicyInfo](_file_share___policy_info.md) \*policies, unsigned int policyNum, [FileShare_PolicyErrorResult](_file_share___policy_error_result.md) \*\*result, unsigned int \*resultNum) | 使能多个已ç»æŒä¹…化授æƒçš„文件或目录。 | | [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode) [OH_FileShare_DeactivatePermission](#oh_fileshare_deactivatepermission) (const [FileShare_PolicyInfo](_file_share___policy_info.md) \*policies, unsigned int policyNum, [FileShare_PolicyErrorResult](_file_share___policy_error_result.md) \*\*result, unsigned int \*resultNum) | å–消使能æŒä¹…化授æƒè¿‡çš„多个文件或目录。 | | [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode) [OH_FileShare_CheckPersistentPermission](#oh_fileshare_checkpersistentpermission) (const [FileShare_PolicyInfo](_file_share___policy_info.md) \*policies, unsigned int policyNum, bool \*\*result, unsigned int \*resultNum) | æ ¡éªŒæ‰€é€‰æ‹©çš„å¤šä¸ªæ–‡ä»¶æˆ–ç›®å½•URIçš„æŒä¹…化授æƒã€‚ | | void [OH_FileShare_ReleasePolicyErrorResult](#oh_fileshare_releasepolicyerrorresult) ([FileShare_PolicyErrorResult](_file_share___policy_error_result.md) \*errorResult, unsigned int resultNum) | 释放FileShare_PolicyErrorResult指针指å‘的内å˜èµ„æºã€‚ | ## 类型定义说明 ### FileShare_OperationMode ``` typedef enum FileShare_OperationMode FileShare_OperationMode ``` **æè¿°** URIæ“作模å¼æžšä¸¾å€¼ã€‚ **起始版本:** 12 ### FileShare_PolicyErrorCode ``` typedef enum FileShare_PolicyErrorCode FileShare_PolicyErrorCode ``` **æè¿°** 授予或使能æƒé™ç–略失败的URI对应的错误ç 枚举值。 **起始版本:** 12 ### FileShare_PolicyErrorResult ``` typedef struct FileShare_PolicyErrorResult FileShare_PolicyErrorResult ``` **æè¿°** 授予或使能æƒé™å¤±è´¥çš„URIç–略结果。 **起始版本:** 12 ### FileShare_PolicyInfo ``` typedef struct FileShare_PolicyInfo FileShare_PolicyInfo ``` **æè¿°** 需è¦æŽˆäºˆæˆ–使能æƒé™URIçš„ç–略信æ¯ã€‚ **起始版本:** 12 ## 枚举类型说明 ### FileShare_OperationMode ``` enum FileShare_OperationMode ``` **æè¿°** URIæ“作模å¼æžšä¸¾å€¼ã€‚ **起始版本:** 12 | 枚举值 | æè¿° | | -------- | -------- | | READ_MODE | 读å–æƒé™ã€‚ | | WRITE_MODE | 写入æƒé™ã€‚ | ### FileShare_PolicyErrorCode ``` enum FileShare_PolicyErrorCode ``` **æè¿°** 授予或使能æƒé™ç–略失败的URI对应的错误ç 枚举值。 **起始版本:** 12 | 枚举值 | æè¿° | | -------- | -------- | | PERSISTENCE_FORBIDDEN | URIç¦æ¢è¢«æŒä¹…化。 | | INVALID_MODE | æ— æ•ˆçš„æ¨¡å¼ã€‚ | | INVALID_PATH | æ— æ•ˆè·¯å¾„ã€‚ | | PERMISSION_NOT_PERSISTED | æƒé™æ²¡æœ‰è¢«æŒä¹…化。 | ## 函数说明 ### OH_FileShare_ActivatePermission() ``` FileManagement_ErrCode OH_FileShare_ActivatePermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum ) ``` **æè¿°** 使能多个已ç»æŒä¹…化授æƒçš„文件或目录。 **起始版本:** 12 **å‚æ•°:** | å称 | æè¿° | | -------- | -------- | | policies | 一个指å‘FileShare_PolicyInfo实例的指针。 | | policyNum | FileShare_PolicyInfo实例数组的大å°ã€‚ | | result | FileShare_PolicyErrorResult数组指针. 请使用OH_FileShare_ReleasePolicyErrorResult()进行资æºé‡Šæ”¾ã€‚ | | resultNum | FileShare_PolicyErrorResult数组大å°ã€‚ | **需è¦æƒé™ï¼š** ohos.permission.FILE_ACCESS_PERSIST **返回:** 返回FileManageMent模å—错误ç [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode-1)。 ### OH_FileShare_CheckPersistentPermission() ``` FileManagement_ErrCode OH_FileShare_CheckPersistentPermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, bool **result, unsigned int *resultNum ) ``` **æè¿°** æ ¡éªŒæ‰€é€‰æ‹©çš„å¤šä¸ªæ–‡ä»¶æˆ–ç›®å½•URIçš„æŒä¹…化授æƒã€‚ **起始版本:** 12 **å‚æ•°:** | å称 | æè¿° | | -------- | -------- | | policies | 一个指å‘FileShare_PolicyInfo实例的指针。 | | policyNum | FileShare_PolicyInfo实例数组的大å°ã€‚ | | result | 授æƒæ ¡éªŒç»“果指针。请引用头文件malloc.h并使用free()进行资æºé‡Šæ”¾ã€‚ | | resultNum | æ ¡éªŒç»“æžœæ•°ç»„çš„å¤§å°. | **需è¦æƒé™ï¼š** ohos.permission.FILE_ACCESS_PERSIST **返回:** 返回FileManageMent模å—错误ç [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode-1)。 ### OH_FileShare_DeactivatePermission() ``` FileManagement_ErrCode OH_FileShare_DeactivatePermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum ) ``` **æè¿°** å–消使能æŒä¹…化授æƒè¿‡çš„多个文件或目录。 **起始版本:** 12 **å‚æ•°:** | å称 | æè¿° | | -------- | -------- | | policies | 一个指å‘FileShare_PolicyInfo实例的指针。 | | policyNum | FileShare_PolicyInfo实例数组的大å°ã€‚ | | result | FileShare_PolicyErrorResult数组指针. 请使用OH_FileShare_ReleasePolicyErrorResult()进行资æºé‡Šæ”¾ã€‚ | | resultNum | FileShare_PolicyErrorResult数组大å°ã€‚ | **需è¦æƒé™ï¼š** ohos.permission.FILE_ACCESS_PERSIST **返回:** 返回FileManageMent模å—错误ç [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode-1)。 ### OH_FileShare_PersistPermission() ``` FileManagement_ErrCode OH_FileShare_PersistPermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum ) ``` **æè¿°** 对所选择的多个文件或目录URIæŒä¹…化授æƒã€‚ **起始版本:** 12 **å‚æ•°:** | å称 | æè¿° | | -------- | -------- | | policies | 一个指å‘FileShare_PolicyInfo实例的指针。 | | policyNum | FileShare_PolicyInfo实例数组的大å°ã€‚ | | result | FileShare_PolicyErrorResult数组指针. 请使用OH_FileShare_ReleasePolicyErrorResult()进行资æºé‡Šæ”¾ã€‚ | | resultNum | FileShare_PolicyErrorResult数组大å°ã€‚ | **需è¦æƒé™ï¼š** ohos.permission.FILE_ACCESS_PERSIST **返回:** 返回FileManageMent模å—错误ç [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode-1)。 ### OH_FileShare_ReleasePolicyErrorResult() ``` void OH_FileShare_ReleasePolicyErrorResult (FileShare_PolicyErrorResult *errorResult, unsigned int resultNum ) ``` **æè¿°** 释放FileShare_PolicyErrorResult指针指å‘的内å˜èµ„æºã€‚ **起始版本:** 12 **å‚æ•°:** | å称 | æè¿° | | -------- | -------- | | errorResult | 一个指å‘FileShare_PolicyErrorResult实例的指针。 | | resultNum | FileShare_PolicyErrorResult实例数组的大å°ã€‚ | ### OH_FileShare_RevokePermission() ``` FileManagement_ErrCode OH_FileShare_RevokePermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum ) ``` **æè¿°** 对所选择的多个文件或目录uriå–消æŒä¹…化授æƒã€‚ **起始版本:** 12 **å‚æ•°:** | å称 | æè¿° | | -------- | -------- | | policies | 一个指å‘FileShare_PolicyInfo实例的指针。 | | policyNum | FileShare_PolicyInfo实例数组的大å°ã€‚ | | result | FileShare_PolicyErrorResult数组指针. 请使用OH_FileShare_ReleasePolicyErrorResult()进行资æºé‡Šæ”¾ã€‚ | | resultNum | FileShare_PolicyErrorResult数组大å°ã€‚ | **需è¦æƒé™ï¼š** ohos.permission.FILE_ACCESS_PERSIST **返回:** 返回FileManageMent模å—错误ç [FileManagement_ErrCode](_file_i_o.md#filemanagement_errcode-1)。