Функция 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 |
См. также раздел
Функции контроль доступа клиента или сервера