Поделиться через


Функция BuildExplicitAccessWithNameA (aclapi.h)

Функция BuildExplicitAccessWithName инициализирует структуру EXPLICIT_ACCESS с данными, указанными вызывающим методом. Доверенное лицо определяется строкой имени.

Синтаксис

void BuildExplicitAccessWithNameA(
  [in, out]      PEXPLICIT_ACCESS_A pExplicitAccess,
  [in, optional] LPSTR              pTrusteeName,
  [in]           DWORD              AccessPermissions,
  [in]           ACCESS_MODE        AccessMode,
  [in]           DWORD              Inheritance
);

Параметры

[in, out] pExplicitAccess

Указатель на структуру EXPLICIT_ACCESS для инициализации. Функция BuildExplicitAccessWithName не выделяет никакой памяти. Этот параметр не может быть значение NULL.

[in, optional] pTrusteeName

Указатель на строкуnull, содержащую имя доверенного лица для члена ptstrName структуры TRUSTEE. Функция BuildExplicitAccessWithName задает другие члены структуры TRUSTEE следующим образом.

Ценность Значение
pMultipleTrustee
NULL
MultipleTrusteeOperation
NO_MULTIPLE_TRUSTEE
Доверенное
TRUSTEE_IS_NAME
TrusteeType
TRUSTEE_IS_UNKNOWN

[in] AccessPermissions

Задает маску доступа для элемента grfAccessPermissions структуры EXPLICIT_ACCESS. Маска представляет собой набор битовых флагов, использующих формат ACCESS_MASK, чтобы указать права доступа, которые ACE разрешает, запрещает или аудит для доверенного лица. Функции, использующие структуру EXPLICIT_ACCESS, не преобразуют, интерпретируют или проверяют биты в этой маске.

[in] AccessMode

Задает режим доступа для элемента grfAccessMode структуры EXPLICIT_ACCESS. Режим доступа указывает, разрешает ли запись управления доступом (ACE), запрещает или проверяет указанные права. Для списка управления доступом (DACL) этот параметр может быть одним из значений перечисления ACCESS_MODE. Для системного списка управления доступом (SACL) этот параметр может быть сочетанием значений ACCESS_MODE.

[in] Inheritance

Указывает тип наследования для grfInheritance члена структуры EXPLICIT_ACCESS. Это значение представляет собой набор битовых флагов, определяющих, могут ли другие контейнеры или объекты наследовать ACE от первичного объекта, к которому подключены A CL. Значение этого элемента соответствует части наследования (байт с низким порядком) AceFlags член структуры ACE_HEADER. Этот параметр может быть NO_INHERITANCE, чтобы указать, что ACE не наследуется или может быть сочетанием следующих значений.

Ценность Значение
CONTAINER_INHERIT_ACE
Другие контейнеры, содержащиеся первичным объектом, наследуют ACE.
INHERIT_ONLY_ACE
ACE не применяется к основному объекту, к которому присоединен ACL, но объекты, содержащиеся в основном объекте, наследуют ACE.
NO_PROPAGATE_INHERIT_ACE
Флаги OBJECT_INHERIT_ACE и CONTAINER_INHERIT_ACE не распространяется на унаследованный ACE.
OBJECT_INHERIT_ACE
Неконтайнерные объекты, содержащиеся в основном объекте, наследуют ACE.
SUB_CONTAINERS_AND_OBJECTS_INHERIT
Контейнеры и неконтейнерные объекты, содержащиеся в основном объекте, наследуют ACE. Этот флаг соответствует сочетанию флагов CONTAINER_INHERIT_ACE и OBJECT_INHERIT_ACE.
SUB_CONTAINERS_ONLY_INHERIT
Другие контейнеры, содержащиеся первичным объектом, наследуют ACE. Этот флаг соответствует сочетанию флагов CONTAINER_INHERIT_ACE и INHERIT_ONLY_ACE.
SUB_OBJECTS_ONLY_INHERIT
Неконтайнерные объекты, содержащиеся в основном объекте, наследуют ACE. Этот флаг соответствует сочетанию флагов OBJECT_INHERIT_ACE и INHERIT_ONLY_ACE.

Возвращаемое значение

Никакой

Замечания

Заметка

Заголовок aclapi.h определяет BuildExplicitAccessWithName как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка aclapi.h
библиотеки Advapi32.lib
DLL Advapi32.dll

См. также

ACE

ACL

Обзор управления доступом

базовые функции управления доступом

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

SetEntriesInAcl

ДОВЕРЕННЫЙ