Функция AuthzAccessCheck (authz.h)
Функция AuthzAccessCheck определяет, какие биты доступа могут быть предоставлены клиенту для заданного набора дескрипторов безопасности. Структура AUTHZ_ACCESS_REPLY возвращает массив предоставленных масок доступа и состояние ошибки. При необходимости можно кэшировать маски доступа, которые всегда будут предоставляться, и возвращается дескриптор кэшированных значений.
Синтаксис
AUTHZAPI BOOL AuthzAccessCheck(
[in] DWORD Flags,
[in] AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
[in] PAUTHZ_ACCESS_REQUEST pRequest,
[in, optional] AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in, optional] PSECURITY_DESCRIPTOR *OptionalSecurityDescriptorArray,
[in, optional] DWORD OptionalSecurityDescriptorCount,
[in, out] PAUTHZ_ACCESS_REPLY pReply,
[out, optional] PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE phAccessCheckResults
);
Параметры
[in] Flags
Значение DWORD , указывающее способ копирования дескриптора безопасности. Этот параметр может принимать одно из указанных ниже значений.
Начиная с Windows 8 и Windows Server 2012, при вызове этой функции для удаленного дескриптора контекста верхние 16 бит должны быть равны нулю.
Значение | Значение |
---|---|
|
Если phAccessCheckResults не имеет значение NULL, то глубокая копия дескриптора безопасности копируется в дескриптор, на который ссылается phAccessCheckResults. |
|
Глубокая копия дескриптора безопасности не выполняется. Вызывающее приложение должно передавать адрес дескриптора AUTHZ_ACCESS_CHECK_RESULTS_HANDLE в phAccessCheckResults. Функция AuthzAccessCheck задает дескриптор безопасности, который должен оставаться действительным во время последующих вызовов AuthzCachedAccessCheck. |
[in] hAuthzClientContext
Дескриптор структуры, представляющей клиент.
Начиная с Windows 8 и Windows Server 2012 контекст клиента может быть локальным или удаленным.
[in] pRequest
Указатель на структуру AUTHZ_ACCESS_REQUEST , которая указывает требуемую маску доступа, основной идентификатор самостоятельной безопасности (SID) и структуру списка типов объектов, если она существует.
[in, optional] hAuditEvent
Структура, содержащая сведения об аудите для конкретных объектов. Если значение этого параметра не равно NULL, аудит запрашивается автоматически. Статические сведения аудита считываются из структуры Resource Manager.
Начиная с Windows 8 и Windows Server 2012, при использовании этой функции с удаленным дескриптором контекста значение параметра должно иметь значение NULL.
[in] pSecurityDescriptor
Указатель на структуру SECURITY_DESCRIPTOR , используемую для проверок доступа. Идентификатор безопасности владельца для объекта выбирается из этого дескриптора безопасности. Список управления доступом (DACL) null в этом дескрипторе безопасности представляет список DACL NULL для всего объекта. Убедитесь, что дескриптор безопасности содержит сведения о владельцах и DACL, или будет создан код ошибки 87 или сообщение "недопустимый параметр".
[in, optional] OptionalSecurityDescriptorArray
Массив структур SECURITY_DESCRIPTOR . Списки управления доступом (ACL) null в этих дескрипторах безопасности обрабатываются как пустые списки управления доступом. ACL для всего объекта является логическим объединением всех списков управления доступом.
[in, optional] OptionalSecurityDescriptorCount
Число дескрипторов безопасности, не включая основной дескриптор безопасности.
[in, out] pReply
Указатель на структуру AUTHZ_ACCESS_REPLY, содержащую результаты проверка доступа. Перед вызовом функции AuthzAccessCheck приложение должно выделить память для элементов GrantedAccessMask и SaclEvaluationResultsструктуры AUTHZ_ACCESS_REPLY , на которую ссылается pReply.
[out, optional] phAccessCheckResults
Указатель, возвращающий дескриптор кэшированных результатов проверка доступа. Если значение этого параметра не равно NULL, результаты этого вызова проверка доступа будут кэшироваться. Это приводит к MAXIMUM_ALLOWED проверка.
Начиная с Windows 8 и Windows Server 2012, при использовании этой функции с удаленным дескриптором контекста значение параметра должно иметь значение NULL.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает значение TRUE.
Если функция завершается сбоем, она возвращает значение FALSE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Функция обратного вызова AuthzAccessCheckCallback будет вызвана , если DACL структуры SECURITY_DESCRIPTOR , на которую указывает параметр pSecurityDescriptor , содержит запись управления доступом обратного вызова (ACE).
Переменные атрибута безопасности должны присутствовать в контексте клиента, если они ссылаются в условном выражении, в противном случае термин условного выражения, ссылающийся на них, будет считаться неизвестным. Дополнительные сведения см. в разделе Язык определения дескриптора безопасности для условных ACE .
Дополнительные сведения см. в разделах Принципы работы AccessCheck и Общие сведения о централизованной политике авторизации .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | authz.h |
Библиотека | Authz.lib |
DLL | Authz.dll |
Распространяемые компоненты | Пакет средств администрирования Windows Server 2003 в Windows XP |
См. также раздел
Базовые функции контроль доступа