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


Класс CPrivateObjectSecurityDesc

Этот класс представляет объект дескриптора безопасности частного объекта.

Синтаксис

class CPrivateObjectSecurityDesc : public CSecurityDesc

Участники

Открытые конструкторы

Имя Описание
CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc Конструктор.
CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc Деструктор

Открытые методы

Имя Описание
CPrivateObjectSecurityDesc::ConvertToAutoInherit Вызовите этот метод, чтобы преобразовать дескриптор безопасности и его списки управления доступом (ACL) в формат, поддерживающий автоматическое распространение наследуемых записей управления доступом (ACEs).
CPrivateObjectSecurityDesc::Create Вызовите этот метод, чтобы выделить и инициализировать дескриптор безопасности для частного объекта, созданного вызывающим диспетчером ресурсов.
CPrivateObjectSecurityDesc::Get Вызовите этот метод, чтобы получить сведения из дескриптора безопасности частного объекта.
CPrivateObjectSecurityDesc::Set Вызовите этот метод для изменения дескриптора безопасности частного объекта.

Операторы

Operator Description
оператор = Оператор присвоения.

Замечания

Этот класс, производный от CSecurityDesc, предоставляет методы для создания дескриптора безопасности частного объекта и управления ими.

Общие сведения о модели управления доступом в Windows см. в контроль доступа в пакете SDK для Windows.

Иерархия наследования

CSecurityDesc

CPrivateObjectSecurityDesc

Требования

Заголовок: atlsecurity.h

CPrivateObjectSecurityDesc::ConvertToAutoInherit

Вызовите этот метод, чтобы преобразовать дескриптор безопасности и его списки управления доступом (ACL) в формат, поддерживающий автоматическое распространение наследуемых записей управления доступом (ACEs).

bool ConvertToAutoInherit(
    const CSecurityDesc* pParent,
    GUID* ObjectType,
    bool bIsDirectoryObject,
    PGENERIC_MAPPING GenericMapping) throw();

Параметры

pParent
Указатель на объект CSecurityDesc, ссылающийся на родительский контейнер объекта. Если родительский контейнер отсутствует, этот параметр имеет значение NULL.

ObjectType
Указатель на GUID структуру, которая определяет тип объекта, связанного с текущим объектом. Задайте значение ObjectType значение NULL, если объект не имеет GUID.

bIsDirectoryObject
Указывает, может ли новый объект содержать другие объекты. Значение true указывает, что новый объект является контейнером. Значение false указывает, что новый объект не является контейнером.

GenericMapping
Указатель на структуру GENERIC_MAPPING , указывающую сопоставление от каждого универсального права на определенные права для объекта.

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

Возвращает значение true, если операция выполнена успешно; в противном случае — значение false.

Замечания

Этот метод пытается определить, наследуются ли ACEs в списке управления доступом (DACL) и системном списке управления доступом текущего дескриптора безопасности родительского дескриптора безопасности. Он вызывает функцию ConvertToAutoInheritPrivateObjectSecurity .

CPrivateObjectSecurityDesc::CPrivateObjectSecurityDesc

Конструктор.

CPrivateObjectSecurityDesc() throw();

Замечания

Инициализирует объект CPrivateObjectSecurityDesc.

CPrivateObjectSecurityDesc::~CPrivateObjectSecurityDesc

Деструктор

~CPrivateObjectSecurityDesc() throw();

Замечания

Деструктор освобождает все выделенные ресурсы и удаляет дескриптор безопасности частного объекта.

CPrivateObjectSecurityDesc::Create

Вызовите этот метод, чтобы выделить и инициализировать дескриптор безопасности для частного объекта, созданного вызывающим диспетчером ресурсов.

bool Create(
    const CSecurityDesc* pParent,
    const CSecurityDesc* pCreator,
    bool bIsDirectoryObject,
    const CAccessToken& Token,
    PGENERIC_MAPPING GenericMapping) throw();

bool Create(
    const CSecurityDesc* pParent,
    const CSecurityDesc* pCreator,
    GUID* ObjectType,
    bool bIsContainerObject,
    ULONG AutoInheritFlags,
    const CAccessToken& Token,
    PGENERIC_MAPPING GenericMapping) throw();

Параметры

pParent
Указатель на объект CSecurityDesc, ссылающийся на родительский каталог, в котором создается новый объект. Установите значение NULL, если родительский каталог отсутствует.

pCreator
Указатель на дескриптор безопасности, предоставляемый создателем объекта. Если создатель объекта явно не передает сведения о безопасности для нового объекта, задайте для этого параметра значение NULL.

bIsDirectoryObject
Указывает, может ли новый объект содержать другие объекты. Значение true указывает, что новый объект является контейнером. Значение false указывает, что новый объект не является контейнером.

токен.
Ссылка на объект CAccessToken для клиентского процесса, от имени которого создается объект.

GenericMapping
Указатель на структуру GENERIC_MAPPING , указывающую сопоставление от каждого универсального права на определенные права для объекта.

ObjectType
Указатель на GUID структуру, которая определяет тип объекта, связанного с текущим объектом. Задайте значение ObjectType значение NULL, если объект не имеет GUID.

bIsContainerObject
Указывает, может ли новый объект содержать другие объекты. Значение true указывает, что новый объект является контейнером. Значение false указывает, что новый объект не является контейнером.

AutoInheritFlags
Набор битовых флагов, которые управляют тем, как записи управления доступом (ACEs) наследуются от pParent. Дополнительные сведения см. в статье CreatePrivateObjectSecurityEx .

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

Возвращает значение true, если операция выполнена успешно; в противном случае — значение false.

Замечания

Этот метод вызывает CreatePrivateObjectSercurity или CreatePrivateObjectSecurityEx.

Второй метод позволяет указать GUID типа объекта нового объекта или управлять наследованием acEs.

Примечание.

Дескриптор безопасности является дескриптором безопасности, который хранит всю информацию о безопасности в непрерывном блоке памяти.

CPrivateObjectSecurityDesc::Get

Вызовите этот метод, чтобы получить сведения из дескриптора безопасности частного объекта.

bool Get(
    SECURITY_INFORMATION si,
    CSecurityDesc* pResult) const throw();

Параметры

си
Набор битовых флагов, указывающих части дескриптора безопасности для извлечения. Это значение может быть сочетанием SECURITY_INFORMATION битовых флагов.

pResult
Указатель на объект CSecurityDesc , получающий копию запрошенных сведений из указанного дескриптора безопасности.

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

Возвращает значение true, если операция выполнена успешно; в противном случае — значение false.

Замечания

Дескриптор безопасности — это структура и связанные данные, содержащие сведения о безопасности для защищаемого объекта.

CPrivateObjectSecurityDesc::operator =

Оператор присвоения.

CPrivateObjectSecurityDesc& operator= (const CPrivateObjectSecurityDesc& rhs) throw(...);

Параметры

rhs
Объект CPrivateObjectSecurityDesc , назначаемый текущему объекту.

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

Возвращает обновленный CPrivateObjectSecurityDesc объект.

CPrivateObjectSecurityDesc::Set

Вызовите этот метод для изменения дескриптора безопасности частного объекта.

bool Set(
    SECURITY_INFORMATION si,
    const CSecurityDesc& Modification,
    PGENERIC_MAPPING GenericMapping,
    const CAccessToken& Token) throw();

bool Set(
    SECURITY_INFORMATION si,
    const CSecurityDesc& Modification,
    ULONG AutoInheritFlags,
    PGENERIC_MAPPING GenericMapping,
    const CAccessToken& Token) throw();

Параметры

си
Набор битовых флагов, указывающих части дескриптора безопасности, которые нужно задать. Это значение может быть сочетанием SECURITY_INFORMATION битовых флагов.

Модификация
Указатель на объект CSecurityDesc . Части этого дескриптора безопасности, указанные параметром si , применяются к дескриптору безопасности объекта.

GenericMapping
Указатель на структуру GENERIC_MAPPING , указывающую сопоставление от каждого универсального права на определенные права для объекта.

токен.
Ссылка на объект CAccessToken для клиентского процесса, от имени которого создается объект.

AutoInheritFlags
Набор битовых флагов, которые управляют тем, как записи управления доступом (ACEs) наследуются от pParent. Дополнительные сведения см. в статье CreatePrivateObjectSecurityEx .

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

Возвращает значение true, если операция выполнена успешно; в противном случае — значение false.

Замечания

Второй метод позволяет указать guid типа объекта объекта или управлять наследованием acEs.

См. также

SECURITY_DESCRIPTOR
Общие сведения о классе
Глобальные функции безопасности
Класс CSecurityDesc