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


Функция AuthzCachedAccessCheck (authz.h)

Функция AuthzCachedAccessCheck выполняет быстрый доступ проверка на основе кэшированного дескриптора, содержащего статические предоставленные биты из предыдущего вызова AuthzAccessCheck.

Синтаксис

AUTHZAPI BOOL AuthzCachedAccessCheck(
  [in]  DWORD                             Flags,
  [in]  AUTHZ_ACCESS_CHECK_RESULTS_HANDLE hAccessCheckResults,
  [in]  PAUTHZ_ACCESS_REQUEST             pRequest,
  [in]  AUTHZ_AUDIT_EVENT_HANDLE          hAuditEvent,
  [out] PAUTHZ_ACCESS_REPLY               pReply
);

Параметры

[in] Flags

Зарезервировано для последующего использования.

[in] hAccessCheckResults

Дескриптор кэшированного доступа проверка результатов.

[in] pRequest

Дескриптор запроса на доступ, указывающий нужную маску доступа, собственный идентификатор безопасности субъекта и структуру списка типов объектов (при наличии).

[in] hAuditEvent

Структура, содержащая сведения аудита для конкретных объектов. Если значение этого параметра не равно NULL, аудит запрашивается автоматически. Статические сведения аудита считываются из структуры Resource Manager.

[out] pReply

Указатель на дескриптор AUTHZ_ACCESS_REPLY, который возвращает результаты доступа проверка в виде массива пар GrantedAccessMask/ErrorValue. Количество возвращаемых пар предоставляется вызывающим элементом ResultListLengthструктуры AUTHZ_ACCESS_REPLY .

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

Если функция завершается успешно, она возвращает значение TRUE.

Если функция завершается сбоем, она возвращает значение FALSE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Ожидаемые значения элементов Error возвращаемых элементов массива приведены в следующей таблице.

Код возврата Описание
ERROR_SUCCESS
Предоставляются все биты доступа, не включая MAXIMUM_ALLOWED, а член GrantedAccessMask параметра pReply не равен нулю.
ERROR_PRIVILEGE_NOT_HELD
Элемент DesiredAccess параметра pRequest включает ACCESS_SYSTEM_SECURITY, а клиент не имеет привилегии SeSecurityPrivilege.
ERROR_ACCESS_DENIED
Выполняется одно или несколько из следующих действий:
  • Запрошенные биты не предоставляются.
  • Бит MaximumAllowed включен, а предоставленный доступ равен нулю.
  • Элемент DesiredAccess параметра pRequest равен нулю.

Комментарии

Указатель контекста клиента хранится в параметре AuthzHandle . Структура контекста клиента должна быть точно такой же, как во время создания AuthzHandle . Это ограничение применяется для следующих полей:

  • идентификаторы безопасности
  • RestrictedSids
  • Привилегии
Указатели на основной дескриптор безопасности и необязательный массив дескрипторов безопасности хранятся в AuthzHandle во время создания дескриптора. Эти указатели по-прежнему должны быть допустимыми.

Функция AuthzCachedAccessCheck поддерживает кэш в результате оценки центральных политик доступа (CAP) для объектов, если только они не игнорируются, например при использовании флага AUTHZ_RM_FLAG_NO_CENTRAL_ACCESS_POLICIES. Клиент может вызвать функцию AuthzFreeCentralAccessPolicyCache , чтобы освободить этот кэш. Обратите внимание, что для этого требуется последующий вызов AuthzCachedAccessCheck для перестроения кэша при необходимости.

Дополнительные сведения см. в разделах Принципы работы AccessCheck и Общие сведения о централизованной политике авторизации .

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header authz.h
Библиотека Authz.lib
DLL Authz.dll
Распространяемые компоненты Пакет средств администрирования Windows Server 2003 в Windows XP

См. также раздел

AUTHZ_ACCESS_REPLY

AuthzAccessCheck

AuthzFreeCentralAccessPolicyCache

AuthzInitializeResourceManager

Базовые функции контроль доступа

Централизованная политика авторизации

Как работает AccessCheck