Метод 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 значений , задающих разрешения на доступ к общей папке для 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
Header shobjidl_core.h (включая Shobjidl.h)