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

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

Синтаксис

BOOL ObjectOpenAuditAlarmA(
  [in]           LPCSTR               SubsystemName,
  [in]           LPVOID               HandleId,
  [in]           LPSTR                ObjectTypeName,
  [in, optional] LPSTR                ObjectName,
  [in]           PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [in]           HANDLE               ClientToken,
  [in]           DWORD                DesiredAccess,
  [in]           DWORD                GrantedAccess,
  [in, optional] PPRIVILEGE_SET       Privileges,
  [in]           BOOL                 ObjectCreation,
  [in]           BOOL                 AccessGranted,
  [out]          LPBOOL               GenerateOnClose
);

Параметры

[in] SubsystemName

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

[in] HandleId

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

Для кроссплатформенной совместимости значение, адресуемое этим указателем, должно быть длиной в байтах sizeof (LPVOID).

[in] ObjectTypeName

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

[in, optional] ObjectName

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

[in] pSecurityDescriptor

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

[in] ClientToken

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

[in] DesiredAccess

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

[in] GrantedAccess

Указывает маску доступа , указывающую, какие права доступа предоставляются. Эта маска доступа предназначена для того же значения, которое задается одной из функций проверки доступа в параметре GrantedAccess . Примерами функций проверки доступа являются AccessCheckAndAuditAlarm и AccessCheck.

[in, optional] Privileges

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

[in] ObjectCreation

Указывает флаг, определяющий, создает ли приложение новый объект при предоставлении доступа. Если это значение равно TRUE, приложение создает новый объект ; Если значение равно FALSE, приложение открывает существующий объект .

[in] AccessGranted

Задает флаг, указывающий, был ли предоставлен или запрещен доступ при предыдущем вызове функции проверки доступа, например AccessCheck. Если доступ был предоставлен, это значение равно TRUE. В противном случае это false.

[out] GenerateOnClose

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

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

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

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

Комментарии

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

Требования

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

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

AccessCheck

AccessCheckAndAuditAlarm

AreAllAccessesGranted

AreAnyAccessesGranted

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

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

MapGenericMask

ObjectCloseAuditAlarm

ObjectDeleteAuditAlarm

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR