ISharingConfigurationManager::CreateShare method (shobjidl_core.h)
Shares the Users or Public folder. If the folder is already shared, this method updates its sharing status.
Syntax
HRESULT CreateShare(
[in] DEF_SHARE_ID dsid,
[in] SHARE_ROLE role
);
Parameters
[in] dsid
Type: DEF_SHARE_ID
One of the DEF_SHARE_ID values that indicates the folder to share or update.
[in] role
Type: SHARE_ROLE
One of the following SHARE_ROLE values that sets the access permissions of the share for the Everyone ACE. CreateShare accepts only these values.
SHARE_ROLE_READER (0)
Read-only. The contents of the folder can be read, but not altered or added to.
SHARE_ROLE_CO_OWNER (2)
Read/Write. The contents of the folder can be read, changed, or added to.
Return value
Type: HRESULT
Returns S_OK if successful, or an error value otherwise, including the following:
Return code | Description |
---|---|
|
The role parameter specifies a value other than SHARE_ROLE_READER or SHARE_ROLE_CO_OWNER. |
Remarks
Running this method requires an Administrator privilege level.
If the folder named in dsid is not shared, this method shares the folder using the permission level provided in the role parameter.
If the folder named in dsid is already shared, this method updates the permissions on the share with the value provided in the role parameter.
Because as of Windows 7 the Public folder is shared through Users rather than directly, creating a share on Public causes an Server Message Block (SMB) share to be created on Users.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | shobjidl_core.h (include Shobjidl.h) |