Функция AccessCheckAndAuditAlarmW (securitybaseapi.h)
Функция AccessCheckAndAuditAlarm определяет, предоставляет ли дескриптор безопасности указанный набор прав доступа клиенту, олицетворяемого вызывающим потоком. Если дескриптор безопасности имеет saCL с ACE, которые применяются к клиенту, функция создает все необходимые сообщения аудита в журнале событий безопасности.
Синтаксис
BOOL AccessCheckAndAuditAlarmW(
[in] LPCWSTR SubsystemName,
[in, optional] LPVOID HandleId,
[in] LPWSTR ObjectTypeName,
[in, optional] LPWSTR ObjectName,
[in] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] DWORD DesiredAccess,
[in] PGENERIC_MAPPING GenericMapping,
[in] BOOL ObjectCreation,
[out] LPDWORD GrantedAccess,
[out] LPBOOL AccessStatus,
[out] LPBOOL pfGenerateOnClose
);
Параметры
[in] SubsystemName
Указатель на строку, завершающуюся значением NULL, указывающую имя подсистемы, вызывающей функцию. Эта строка отображается в любом сообщении аудита, которое создает функция.
[in, optional] HandleId
Указатель на уникальное значение, представляющее дескриптор клиента для объекта . Если доступ запрещен, система игнорирует это значение.
[in] ObjectTypeName
Указатель на строку, завершающуюся значением NULL, задающую тип создаваемого объекта или доступа к ней. Эта строка отображается в любом сообщении аудита, которое создает функция.
[in, optional] ObjectName
Указатель на строку, завершающуюся значением NULL, указывающую имя создаваемого объекта или доступа к ней. Эта строка отображается в любом сообщении аудита, которое создает функция.
[in] SecurityDescriptor
Указатель на структуру SECURITY_DESCRIPTOR , для которой проверяется доступ.
[in] DesiredAccess
Маска доступа, указывающая права доступа для проверка. Эта маска должна быть сопоставлена функцией MapGenericMask , чтобы не содержать универсальных прав доступа.
Если этот параметр MAXIMUM_ALLOWED, функция задает маску доступа GrantedAccess , чтобы указать максимальные права доступа, которые дескриптор безопасности разрешает клиенту.
[in] GenericMapping
Указатель на структуру GENERIC_MAPPING , связанную с объектом, для которого проверяется доступ.
[in] ObjectCreation
Указывает флаг, определяющий, будет ли вызывающее приложение создавать новый объект при предоставлении доступа. Значение TRUE указывает, что приложение создаст новый объект. Значение FALSE указывает, что приложение откроет существующий объект.
[out] GrantedAccess
Указатель на маску доступа , которая получает предоставленные права доступа. Если параметр AccessStatus имеет значение FALSE, функция устанавливает для маски доступа нулевое значение. Если функция завершается сбоем, она не устанавливает маску доступа.
[out] AccessStatus
Указатель на переменную, которая получает результаты проверка доступа. Если дескриптор безопасности разрешает клиенту запрашиваемые права доступа, accessStatus имеет значение TRUE. В противном случае accessStatus имеет значение FALSE.
[out] pfGenerateOnClose
Указатель на флаг, установленный подпрограммой создания аудита при возврате функции. Передайте этот флаг функции ObjectCloseAuditAlarm при закрытии дескриптора объекта.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Дополнительные сведения см. в статье Общие сведения о работе AccessCheck .
Для функции AccessCheckAndAuditAlarm требуется, чтобы в процессе вызова была включена привилегия SE_AUDIT_NAME. Проверка этой привилегии выполняется с основным маркером вызывающего процесса, а не с токеном олицетворения потока.
Функция AccessCheckAndAuditAlarm завершается сбоем , если вызывающий поток не олицетворяет клиента.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | securitybaseapi.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
См. также раздел
AccessCheck
контроль доступа клиента или сервера
Функции контроль доступа клиента или сервера
GENERIC_MAPPING
Как работает AccessCheck
MakeAbsoluteSD
MapGenericMask
ObjectCloseAuditAlarm
ObjectOpenAuditAlarm
ObjectPrivilegeAuditAlarm
Проверка привилегий
PrivilegedServiceAuditAlarm
SECURITY_DESCRIPTOR