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


Глобальные функции безопасности

Эти функции обеспечивают поддержку изменения объектов SID и ACL.

Важно!

Функции, перечисленные в следующей таблице, нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.

Имя Описание
AtlGetDacl Вызывайте эту функцию для получения данных списка управления доступом на уровне пользователя (DACL) указанного объекта.
AtlSetDacl Вызывайте эту функцию для задания данных списка управления доступом на уровне пользователя (DACL) указанного объекта.
AtlGetGroupSid Вызывайте эту функцию для извлечения идентификатора безопасности (SID) группы для объекта.
AtlSetGroupSid Вызывайте эту функцию для задания идентификатора безопасности (SID) группы для объекта.
AtlGetOwnerSid Вызывайте эту функцию для извлечения идентификатора безопасности (SID) владельца для объекта.
AtlSetOwnerSid Вызывайте эту функцию для задания идентификатора безопасности (SID) владельца для объекта.
AtlGetSacl Вызывайте эту функцию для получения данных системного списка управления доступом (SACL) указанного объекта.
AtlSetSacl Вызывайте эту функцию для задания данных системного списка управления доступом (SACL) указанного объекта.
AtlGetSecurityDescriptor Вызывайте эту функцию для извлечения дескриптора безопасности заданного объекта.

Требования

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

AtlGetDacl

Вызывайте эту функцию для получения данных списка управления доступом на уровне пользователя (DACL) указанного объекта.

Важно!

Эту функцию нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.

inline bool AtlGetDacl(
    HANDLE hObject,
    SE_OBJECT_TYPE ObjectType,
    CDacl* pDacl) throw();

Параметры

hObject
Обработайте объект, для которого извлекаются сведения о безопасности.

ObjectType
Указывает значение из перечисления SE_OBJECT_TYPE , указывающее тип объекта, определяемого параметром hObject .

pDacl
Указатель на объект DACL, содержащий полученные сведения о безопасности.

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

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

Замечания

В отладочных сборках ошибка утверждения будет возникать, если недействителен hObject или pDacl .

AtlSetDacl

Вызывайте эту функцию для задания данных списка управления доступом на уровне пользователя (DACL) указанного объекта.

Важно!

Эту функцию нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.

inline bool AtlSetDacl(
    HANDLE hObject,
    SE_OBJECT_TYPE ObjectType,
    const CDacl& rDacl,
    DWORD dwInheritanceFlowControl = 0) throw(...);

Параметры

hObject
Обработайте объект, для которого необходимо задать сведения о безопасности.

ObjectType
Указывает значение из перечисления SE_OBJECT_TYPE , указывающее тип объекта, определяемого параметром hObject .

rDacl
DACL, содержащий новые сведения о безопасности.

dwInheritanceFlowControl
Элемент управления потока наследования. Это значение может быть 0 (по умолчанию), PROTECTED_DACL_SECURITY_INFORMATION или UNPROTECTED_DACL_SECURITY_INFORMATION.

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

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

Замечания

В отладочных сборках ошибка утверждения будет возникать, если hObject недопустим, или если dwInheritanceFlowControl не является одним из трех разрешенных значений.

Требования

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

AtlGetGroupSid

Вызывайте эту функцию для извлечения идентификатора безопасности (SID) группы для объекта.

Важно!

Эту функцию нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.

inline bool AtlGetGroupSid(
    HANDLE hObject,
    SE_OBJECT_TYPE ObjectType,
    CSid* pSid) throw(...);

Параметры

hObject
Дескриптор объекта, из которого извлекаются сведения о безопасности.

ObjectType
Указывает значение из перечисления SE_OBJECT_TYPE , указывающее тип объекта, определяемого параметром hObject .

Psid
Указатель на CSid объект, содержащий новые сведения о безопасности.

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

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

Требования

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

AtlSetGroupSid

Вызывайте эту функцию для задания идентификатора безопасности (SID) группы для объекта.

Важно!

Эту функцию нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.

inline bool AtlSetGroupSid(
    HANDLE hObject,
    SE_OBJECT_TYPE ObjectType,
    const CSid& rSid) throw(...);

Параметры

hObject
Обработайте объект, для которого необходимо задать сведения о безопасности.

ObjectType
Указывает значение из перечисления SE_OBJECT_TYPE , указывающее тип объекта, определяемого параметром hObject .

Rsid
Объект CSid , содержащий новую информацию о безопасности.

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

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

Требования

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

AtlGetOwnerSid

Вызывайте эту функцию для извлечения идентификатора безопасности (SID) владельца для объекта.

Важно!

Эту функцию нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.

inline bool AtlGetOwnerSid(
    HANDLE hObject,
    SE_OBJECT_TYPE ObjectType,
    CSid* pSid) throw(...);

Параметры

hObject
Дескриптор объекта, из которого извлекаются сведения о безопасности.

ObjectType
Указывает значение из перечисления SE_OBJECT_TYPE , указывающее тип объекта, определяемого параметром hObject .

Psid
Указатель на CSid объект, содержащий новые сведения о безопасности.

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

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

Требования

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

AtlSetOwnerSid

Вызывайте эту функцию для задания идентификатора безопасности (SID) владельца для объекта.

Важно!

Эту функцию нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.

inline bool AtlSetOwnerSid(
    HANDLE hObject,
    SE_OBJECT_TYPE ObjectType,
    const CSid& rSid) throw(...);

Параметры

hObject
Обработайте объект, для которого необходимо задать сведения о безопасности.

ObjectType
Указывает значение из перечисления SE_OBJECT_TYPE , указывающее тип объекта, определяемого параметром hObject .

Rsid
Объект CSid , содержащий новую информацию о безопасности.

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

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

Требования

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

AtlGetSacl

Вызывайте эту функцию для получения данных системного списка управления доступом (SACL) указанного объекта.

Важно!

Эту функцию нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.

inline bool AtlGetSacl(
    HANDLE hObject,
    SE_OBJECT_TYPE ObjectType,
    CSacl* pSacl,
    bool bRequestNeededPrivileges = true) throw(...);

Параметры

hObject
Обработайте объект, из которого извлекаются сведения о безопасности.

ObjectType
Указывает значение из перечисления SE_OBJECT_TYPE , указывающее тип объекта, определяемого параметром hObject .

pSacl
Указатель на объект SACL, содержащий полученную информацию о безопасности.

bRequestNeededPrivileges
Если значение true, функция попытается включить привилегию SE_SECURITY_NAME и восстановить ее при завершении.

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

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

Замечания

Если AtlGetSacl требуется вызывать много раз во многих разных объектах, это будет более эффективным, чтобы включить привилегию SE_SECURITY_NAME один раз перед вызовом функции, при этом для bRequestNeedEdPrivileges задано значение false.

Требования

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

AtlSetSacl

Вызывайте эту функцию для задания данных системного списка управления доступом (SACL) указанного объекта.

Важно!

Эту функцию нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.

inline bool AtlSetSacl(
    HANDLE hObject,
    SE_OBJECT_TYPE ObjectType,
    const CSacl& rSacl,
    DWORD dwInheritanceFlowControl = 0,
    bool bRequestNeededPrivileges = true) throw(...);

Параметры

hObject
Обработайте объект, для которого необходимо задать сведения о безопасности.

ObjectType
Указывает значение из перечисления SE_OBJECT_TYPE , указывающее тип объекта, определяемого параметром hObject .

rSacl
SACL, содержащий новые сведения о безопасности.

dwInheritanceFlowControl
Элемент управления потока наследования. Это значение может быть 0 (по умолчанию), PROTECTED_SACL_SECURITY_INFORMATION или UNPROTECTED_SACL_SECURITY_INFORMATION.

bRequestNeededPrivileges
Если значение true, функция попытается включить привилегию SE_SECURITY_NAME и восстановить ее при завершении.

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

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

Замечания

В отладочных сборках ошибка утверждения будет возникать, если hObject недопустим, или если dwInheritanceFlowControl не является одним из трех разрешенных значений.

Если AtlSetSacl требуется вызывать много раз во многих разных объектах, это будет более эффективным, чтобы включить привилегию SE_SECURITY_NAME один раз перед вызовом функции, при этом для bRequestNeedEdPrivileges задано значение false.

Требования

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

AtlGetSecurityDescriptor

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

Важно!

Эту функцию нельзя использовать в приложениях, которые выполняются в среда выполнения Windows.

inline bool AtlGetSecurityDescriptor(
    LPCTSTR pszObjectName,
    SE_OBJECT_TYPE ObjectType,
    CSecurityDesc* pSecurityDescriptor,
    SECURITY_INFORMATION requestedInfo = OWNER_SECURITY_INFORMATION |
    GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION |
    SACL_SECURITY_INFORMATION,
bool bRequestNeededPrivileges = true) throw(...);

Параметры

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

ObjectType
Задает значение из перечисления SE_OBJECT_TYPE , указывающее тип объекта, определяемого параметром pszObjectName .

pSecurityDescriptor
Объект, который получает запрошенный дескриптор безопасности.

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

bRequestNeededPrivileges
Если значение true, функция попытается включить привилегию SE_SECURITY_NAME и восстановить ее при завершении.

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

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

Замечания

Если AtlGetSecurityDescriptor требуется вызывать много раз во многих разных объектах, это будет более эффективным, чтобы включить привилегию SE_SECURITY_NAME один раз перед вызовом функции, при этом для bRequestNeedEdPrivileges задано значение false.

Требования

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

См. также

Функции