Función ZwSetSecurityObject (ntifs.h)
La rutina ZwSetSecurityObject establece el estado de seguridad de un objeto.
Sintaxis
NTSYSAPI NTSTATUS ZwSetSecurityObject(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR SecurityDescriptor
);
Parámetros
[in] Handle
Identificador del objeto cuyo estado de seguridad se va a establecer. Este identificador debe tener el acceso especificado en la columna Significado de la tabla que se muestra en la descripción del parámetro SecurityInformation .
[in] SecurityInformation
Valor de SECURITY_INFORMATION queespecifica la información que se va a establecer. Puede ser una combinación de uno o varios de los valores siguientes.
Valor | Significado |
---|---|
DACL_SECURITY_INFORMATION | Indica que se va a establecer la lista de control de acceso discrecional (DACL) del objeto. Requiere acceso WRITE_DAC. |
GROUP_SECURITY_INFORMATION | Indica que se va a establecer el identificador de grupo principal del objeto. Requiere acceso WRITE_OWNER. |
OWNER_SECURITY_INFORMATION | Indica el identificador de propietario del objeto que se va a establecer. Requiere acceso WRITE_OWNER. |
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
ZwSetSecurityObject devuelve STATUS_SUCCESS o un estado de error adecuado. Entre los posibles códigos de estado de error se incluyen los siguientes:
Código devuelto | Descripción |
---|---|
STATUS_ACCESS_DENIED | Handle no tiene los derechos de acceso necesarios. |
STATUS_ACCESS_VIOLATION | SecurityDescriptor es un puntero NULL . |
STATUS_INSUFFICIENT_RESOURCES | No se pudo capturar el descriptor de seguridad del objeto. |
STATUS_INVALID_ACL | El descriptor de seguridad del objeto contiene una ACL no válida. |
STATUS_INVALID_HANDLE | Handle no es un identificador válido. |
STATUS_INVALID_SECURITY_DESCR | SecurityDescriptor no apunta a un descriptor de seguridad válido. |
STATUS_INVALID_SID | El descriptor de seguridad del objeto contiene un SID no válido. |
STATUS_OBJECT_TYPE_MISMATCH | Handle no es un identificador del tipo esperado. |
STATUS_UNKNOWN_REVISION | El nivel de revisión del descriptor de seguridad del objeto es desconocido o no se admite. |
Comentarios
Un descriptor de seguridad puede estar en forma absoluta o 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 "Absolute and Self-Relative Security Descriptors" (Descriptores de seguridad absolutos y Self-Relative) en la sección Seguridad de la documentación de Windows SDK.
Para obtener más información sobre la seguridad y el control de acceso, consulte Modelo de seguridad de Windows para desarrolladores de controladores y la documentación sobre estos temas en Windows SDK.
Los minifiltros deben usar FltSetSecurityObject en lugar de ZwSetSecurityObject.
Los autores de llamadas de ZwSetSecurityObject deben ejecutarse en IRQL = PASSIVE_LEVEL y con las API de kernel especiales habilitadas.
Nota
Si la llamada a la función ZwSetSecurityObject se produce en modo de usuario, debe usar el nombre "NtSetSecurityObject" en lugar de "ZwSetSecurityObject".
En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Windows Native System Services pueden comportarse de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP |
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (consulte la sección Comentarios) |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |
Consulte también
Uso de las versiones Nt y Zw de las rutinas nativas de System Services