Функция AccessCheckAndAuditAlarmA (winbase.h)

Функция AccessCheckAndAuditAlarm определяет, предоставляет ли дескриптор безопасности указанный набор прав доступа клиенту, олицетворяемого вызывающим потоком. Если дескриптор безопасности имеет saCL с ACE, которые применяются к клиенту, функция создает все необходимые сообщения аудита в журнале событий безопасности.

Будильники в настоящее время не поддерживаются.

Синтаксис

BOOL AccessCheckAndAuditAlarmA(
  [in]           LPCSTR               SubsystemName,
  [in, optional] LPVOID               HandleId,
  [in]           LPSTR                ObjectTypeName,
  [in, optional] LPSTR                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 winbase.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

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

AccessCheck

Контроль доступа клиента или сервера

Функции контроль доступа клиента и сервера

GENERIC_MAPPING

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

MakeAbsolutesd

MapGenericMask

ObjectCloseAuditAlarm

ObjectOpenAuditAlarm

ObjectPrivilegeAuditAlarm

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR