SeOpenObjectAuditAlarm function

The SeOpenObjectAuditAlarm routine generates audit and alarm messages when an attempt is made to open an object.

Syntax

void SeOpenObjectAuditAlarm(
  PUNICODE_STRING      ObjectTypeName,
  PVOID                Object,
  PUNICODE_STRING      AbsoluteObjectName,
  PSECURITY_DESCRIPTOR SecurityDescriptor,
  PACCESS_STATE        AccessState,
  BOOLEAN              ObjectCreated,
  BOOLEAN              AccessGranted,
  KPROCESSOR_MODE      AccessMode,
  PBOOLEAN             GenerateOnClose
);

Parameters

ObjectTypeName

Pointer to a null-terminated string specifying the type of object to which the client is requesting access. This string appears in any audit message that is generated.

Object

Address of the object being opened. This value is needed only to enter into log messages. If the open attempt fails, the value of Object is ignored. Otherwise, it must be provided.

AbsoluteObjectName

Pointer to a null-terminated string specifying the name of the object being opened. This string appears in any audit message that is generated.

SecurityDescriptor

A pointer to the security descriptor structure for the object being opened.

AccessState

Pointer to an access state structure containing the object's subject context, remaining desired access types, granted access types, and, optionally, a privilege set to indicate which privileges were used to permit the access.

ObjectCreated

Set to TRUE if the open operation causes a new object to be created, or FALSE if an existing object is opened.

AccessGranted

Set to TRUE if open access was granted based on a previous access check or privilege check, or FALSE if it was denied.

AccessMode

Access mode used for the access check. Either UserMode or KernelMode.

GenerateOnClose

Pointer to a flag set by the audit generation routine when SeOpenObjectAuditAlarm returns.

Return Value

None

Remarks

SeOpenObjectAuditAlarm generates any necessary audit or alarm messages for user-mode accesses. No messages are generated for kernel-mode accesses.

Before calling SeOpenObjectAuditAlarm, the caller must call SeLockSubjectContext to lock the caller's primary and impersonation tokens. After calling SeOpenObjectAuditAlarm, the caller must call SeUnlockSubjectContext to release these tokens.

For more information about security and access control, see the documentation on these topics in the Microsoft Windows SDK.

Requirements

   
Target Platform Universal
Header ntifs.h (include Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

See Also

ACCESS_STATE

SECURITY_DESCRIPTOR

SeAuditingFileEvents

SeAuditingFileOrGlobalEvents

SeDeleteObjectAuditAlarm

SeLockSubjectContext

SeOpenObjectForDeleteAuditAlarm

SeSetAccessStateGenericMapping

SeUnlockSubjectContext

UNICODE_STRING