IRP_MJ_SET_SECURITY (controladores de filtro y FS)

Cuándo se envió

El Administrador de E/S envía la solicitud de IRP_MJ_SET_SECURITY. Esta solicitud se puede enviar, por ejemplo, cuando una aplicación en modo de usuario ha llamado a una función Win32, como SetSecurityInfo.

Operación: controladores del sistema de archivos

El controlador del sistema de archivos debe extraer y descodificar el objeto de archivo para determinar si representa un archivo de usuario o un directorio abiertos. Si es así, el controlador debe procesar la solicitud y completar el IRP. De lo contrario, el controlador debe completar el IRP según corresponda sin procesar la solicitud.

Operación: controladores de filtro del sistema de archivos heredados

El controlador de filtro debe pasar este IRP al siguiente controlador inferior de la pila.

Parámetros

Un controlador de filtro o sistema de archivos llama a IoGetCurrentIrpStackLocation para que el IRP determinado obtenga un puntero a su propia ubicación de pila en el IRP. En los parámetros siguientes, Irp apunta al IRP e IrpSp apunta al IO_STACK_LOCATION. El controlador puede usar la información establecida en los siguientes miembros del IRP y la ubicación de la pila irP para procesar una solicitud de información de seguridad establecida:

  • DeviceObject es un puntero al objeto de dispositivo de destino.

  • Irp->IoStatus apunta a una estructura de IO_STATUS_BLOCK que recibe el estado de finalización final e información sobre la operación solicitada.

  • IrpSp->FileObject apunta al objeto de archivo asociado a DeviceObject.

    El parámetro IrpSp-FileObject> contiene un puntero al campo RelatedFileObject, que también es una estructura de FILE_OBJECT. El campo RelatedFileObject de la estructura FILE_OBJECT no es válido durante el procesamiento de IRP_MJ_SET_SECURITY y no se debe usar.

  • IrpSp->MajorFunction se establece en IRP_MJ_SET_SECURITY.

  • IrpSp->Parameters.SetSecurity.SecurityDescriptor apunta a una estructura de SECURITY_DESCRIPTOR que contiene los valores de la información de seguridad que se va a asignar al objeto.

  • IrpSp->Parameters.SetSecurity.SecurityInformation es un valor de tipo SECURITY_INFORMATION que especifica qué información de seguridad se va a establecer en el descriptor de seguridad y puede ser uno de los siguientes valores.

Valor securityInformation Significado
DACL_SECURITY_INFORMATION Indica que se establece la lista de control de acceso discrecional (DACL) del objeto. Requiere acceso WRITE_DAC.
GROUP_SECURITY_INFORMATION Indica que se está configurando el identificador de grupo principal del objeto. Requiere acceso WRITE_OWNER.
OWNER_SECURITY_INFORMATION Indica que se está configurando el identificador de propietario del objeto. Requiere acceso WRITE_OWNER.
SACL_SECURITY_INFORMATION Indica que se está configurando la ACL del sistema (SACL) del objeto. Requiere acceso ACCESS_SYSTEM_SECURITY.

Consulte también

IO_STACK_LOCATION

IO_STATUS_BLOCK

IoGetCurrentIrpStackLocation

IRP

IRP_MJ_QUERY_SECURITY

SECURITY_DESCRIPTOR

SECURITY_INFORMATION