ISharingConfigurationManager::CreateShare 方法 (shobjidl_core.h)

共享 “用户” 或“ 公用文件夹 ”。 如果文件夹已共享,此方法会更新其共享状态。

语法

HRESULT CreateShare(
  [in] DEF_SHARE_ID dsid,
  [in] SHARE_ROLE   role
);

参数

[in] dsid

类型: DEF_SHARE_ID

DEF_SHARE_ID值之一,指示要共享或更新的文件夹。

[in] role

类型: SHARE_ROLE

以下 SHARE_ROLE 值之一,用于为 Everyone ACE 设置共享的访问权限。 CreateShare 仅接受这些值。

SHARE_ROLE_READER (0)

只读。 可以读取文件夹的内容,但不能更改或添加到其中。

SHARE_ROLE_CO_OWNER (2)

读/写。 可以读取、更改或添加文件夹的内容。

返回值

类型: HRESULT

如果成功,则返回S_OK,否则返回错误值,包括:

返回代码 说明
E_INVALIDARG
role 参数指定SHARE_ROLE_READER或SHARE_ROLE_CO_OWNER以外的值。

注解

运行此方法需要管理员权限级别。

如果未共享 dsid 中名为 的文件夹,则此方法使用 role 参数中提供的权限级别共享该文件夹。

如果 已共享 dsid 中名为 的文件夹,此方法使用 role 参数中提供的值更新共享的权限。

由于从 Windows 7 开始, 公用文件夹 是通过 用户 而不是直接共享的,因此在 “公共 ”上创建共享会导致在 “用户”上创建服务器消息块 (SMB) 共享。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)