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
Cliente/servidor Access Control