Función AccessCheckAndAuditAlarmA (winbase.h)

La función AccessCheckAndAuditAlarm determina si un descriptor de seguridad concede un conjunto especificado de derechos de acceso al cliente suplantado por el subproceso que realiza la llamada. Si el descriptor de seguridad tiene una SACL con ACE que se aplican al cliente, la función genera los mensajes de auditoría necesarios en el registro de eventos de seguridad.

Actualmente no se admiten alarmas.

Sintaxis

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
);

Parámetros

[in] SubsystemName

Puntero a una cadena terminada en null que especifica el nombre del subsistema que llama a la función. Esta cadena aparece en cualquier mensaje de auditoría que genere la función.

[in, optional] HandleId

Puntero a un valor único que representa el identificador del cliente para el objeto . Si se deniega el acceso, el sistema omite este valor.

[in] ObjectTypeName

Puntero a una cadena terminada en null que especifica el tipo de objeto que se crea o se accede a él. Esta cadena aparece en cualquier mensaje de auditoría que genere la función.

[in, optional] ObjectName

Puntero a una cadena terminada en null que especifica el nombre del objeto al que se va a crear o tener acceso. Esta cadena aparece en cualquier mensaje de auditoría que genere la función.

[in] SecurityDescriptor

Puntero a la estructura SECURITY_DESCRIPTOR en la que se comprueba el acceso.

[in] DesiredAccess

Máscara de acceso que especifica los derechos de acceso que se van a comprobar. La función MapGenericMask debe haber asignado esta máscara para que no contenga derechos de acceso genéricos.

Si este parámetro es MAXIMUM_ALLOWED, la función establece la máscara de acceso de GrantedAccess para indicar los derechos de acceso máximos que permite el cliente.

[in] GenericMapping

Puntero a la estructura GENERIC_MAPPING asociada al objeto para el que se comprueba el acceso.

[in] ObjectCreation

Especifica una marca que determina si la aplicación que realiza la llamada creará un nuevo objeto cuando se conceda acceso. Un valor de TRUE indica que la aplicación creará un nuevo objeto. Un valor false indica que la aplicación abrirá un objeto existente.

[out] GrantedAccess

Puntero a una máscara de acceso que recibe los derechos de acceso concedidos. Si AccessStatus se establece en FALSE, la función establece la máscara de acceso en cero. Si se produce un error en la función, no establece la máscara de acceso.

[out] AccessStatus

Puntero a una variable que recibe los resultados de la comprobación de acceso. Si el descriptor de seguridad permite los derechos de acceso solicitados al cliente, AccessStatus se establece en TRUE. De lo contrario, AccessStatus se establece en FALSE.

[out] pfGenerateOnClose

Puntero a una marca establecida por la rutina de generación de auditoría cuando la función devuelve. Pase esta marca a la función ObjectCloseAuditAlarm cuando se cierre el identificador del objeto.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Para obtener más información, consulte La información general sobre cómo funciona AccessCheck .

La función AccessCheckAndAuditAlarm requiere que el proceso de llamada tenga habilitado el privilegio SE_AUDIT_NAME. La prueba de este privilegio se realiza en el token principal del proceso de llamada, no en el token de suplantación del subproceso .

Se produce un error en la función AccessCheckAndAuditAlarm si el subproceso que realiza la llamada no suplanta a un cliente.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluya Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

AccessCheck

Cliente/servidor Access Control

Funciones de cliente/servidor Access Control

GENERIC_MAPPING

Funcionamiento de AccessCheck

MakeAbsoluteSD

MapGenericMask

ObjectCloseAuditAlarm

ObjectOpenAuditAlarm

ObjectPrivilegeAuditAlarm

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR