Compartir a través de


Función FltSetSecurityObject (fltkernel.h)

FltSetSecurityObject establece el estado de seguridad de un objeto.

Sintaxis

NTSTATUS FLTAPI FltSetSecurityObject(
  [in] PFLT_INSTANCE        Instance,
  [in] PFILE_OBJECT         FileObject,
  [in] SECURITY_INFORMATION SecurityInformation,
  [in] PSECURITY_DESCRIPTOR SecurityDescriptor
);

Parámetros

[in] Instance

Puntero de instancia opaco para el autor de la llamada. Este parámetro es necesario y no se puede null.

[in] FileObject

Puntero de objeto de archivo para el objeto cuyo estado de seguridad se va a establecer. El autor de la llamada debe tener el acceso especificado en la columna Significado de la tabla que se muestra en la descripción del parámetro SecurityInformation. Este parámetro es necesario y no se puede null.

[in] SecurityInformation

SECURITY_INFORMATION valor que especifica la información que se va a establecer como una combinación de una o varias de las siguientes opciones.

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

[in] SecurityDescriptor

Puntero al descriptor de seguridad que se va a establecer para el objeto .

Valor devuelto

FltSetSecurityObject devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
STATUS_ACCESS_DENIED El autor de la llamada no tenía el acceso necesario. Se trata de un código de error.
STATUS_ACCESS_VIOLATION SecurityDescriptor era un puntero de NULL . Se trata de un código de error.
STATUS_INSUFFICIENT_RESOURCES No se pudo capturar el descriptor de seguridad del objeto. Se trata de un código de error.
STATUS_INVALID_ACL El descriptor de seguridad del objeto contenía una ACL no válida. Se trata de un código de error.
STATUS_INVALID_SECURITY_DESCR SecurityDescriptor no apuntaron a un descriptor de seguridad válido. Se trata de un código de error.
STATUS_INVALID_SID El descriptor de seguridad del objeto contenía un SID no válido. Se trata de un código de error.
STATUS_UNKNOWN_REVISION Se desconoce o no se admite el nivel de revisión del descriptor de seguridad del objeto. Se trata de un código de error.
STATUS_NOT_IMPLEMENTED La rutina FltSetSecurityObject está presente, pero no se admite en el entorno del sistema operativo en el que se llamó.

Observaciones

La rutina fltSetSecurityObject de está presente y se admite a partir de Windows Vista. En Windows 2000, Windows XP y Server 2003 SP1, la rutina está presente, pero no es compatible, y devolverá STATUS_NOT_IMPLEMENTED si se llama a en cualquiera de estos entornos.

Un descriptor de seguridad puede estar en forma absoluta o auto relativa. En forma auto-relativa, todos los miembros de la estructura se encuentran contiguamente en la memoria. En forma absoluta, la estructura solo contiene punteros a los miembros. Para obtener más información, vea Descriptores de seguridad absolutos y Self-Relative.

Para obtener más información sobre la seguridad y el control de acceso, consulte la documentación sobre estos temas en Windows SDK.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de fltkernel.h (incluya Fltkernel.h)
biblioteca de FltMgr.lib
DLL de Fltmgr.sys
irQL PASSIVE_LEVEL

Consulte también

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

ZwQuerySecurityObject

ZwSetSecurityObject

fltQuerySecurityObject de