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


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

Функция ObjectPrivilegeAuditAlarm создает сообщение аудита в журнале событий безопасности. Защищенный сервер может использовать эту функцию для регистрации попыток клиента использовать указанный набор привилегий с открытым дескриптором для частного объекта. Будильники в настоящее время не поддерживаются.

Синтаксис

BOOL ObjectPrivilegeAuditAlarmA(
  [in] LPCSTR         SubsystemName,
  [in] LPVOID         HandleId,
  [in] HANDLE         ClientToken,
  [in] DWORD          DesiredAccess,
  [in] PPRIVILEGE_SET Privileges,
  [in] BOOL           AccessGranted
);

Параметры

[in] SubsystemName

Указатель на строку, завершающуюся значением NULL, указывающую имя подсистемы, вызывающей функцию. Эта строка отображается в сообщении аудита.

[in] HandleId

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

[in] ClientToken

Идентифицирует маркер доступа , представляющий клиента, который запросил операцию. Этот дескриптор должен быть получен путем открытия токена потока, олицетворяющего клиента. Маркер должен быть открыт для доступа TOKEN_QUERY. Функция использует этот маркер для получения удостоверения клиента для сообщения аудита.

[in] DesiredAccess

Указывает маску доступа , указывающую используемые или пытающиеся использовать привилегированные типы доступа. Маска доступа может быть сопоставлена функцией MapGenericMask , поэтому она не содержит универсальных типов доступа.

[in] Privileges

Указатель на структуру PRIVILEGE_SET , содержащую привилегии , которые клиент пытался использовать. Имена привилегий отображаются в сообщении аудита.

[in] AccessGranted

Указывает, была ли попытка клиента использовать привилегии успешно. Если это значение равно TRUE, сообщение аудита указывает на успешное выполнение. Если это значение равно FALSE, сообщение аудита указывает на сбой.

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

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

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

Комментарии

Функция ObjectPrivilegeAuditAlarm не проверка доступ клиента к объекту или проверка маркера доступа клиента, чтобы определить, удерживаются ли привилегии. Как правило, вы вызываете функцию PrivilegeCheck, чтобы определить, включены ли указанные привилегии в маркере доступа, вызовите функцию AccessCheck, чтобы проверка доступ клиента к объекту, а затем вызываете ObjectPrivilegeAuditAlarm для регистрации результатов.

Для функции ObjectPrivilegeAuditAlarm требуется, чтобы в процессе вызова была включена SE_AUDIT_NAME привилегия. Проверка этой привилегии всегда выполняется с основным маркером вызывающего процесса, а не с токеном олицетворения потока. Это позволяет вызывающей процедуре олицетворять клиента во время вызова.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

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

AccessCheck

AccessCheckAndAuditAlarm

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

Общие сведения о клиенте и сервере контроль доступа

MapGenericMask

ObjectCloseAuditAlarm

ObjectOpenAuditAlarm

PRIVILEGE_SET

Проверка привилегий

PrivilegedServiceAuditAlarm