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_INFORMATIONque especifica 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 que se va a establecer el identificador de propietario del objeto. 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 códigos de estado de error posibles 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 de 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 de 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. |
Observaciones
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 "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 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 NtXxx y Zwversiones de Xxx de una rutina de Servicios del sistema nativo de Windows 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 de NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP |
de la plataforma de destino de |
Universal |
encabezado de |
ntifs.h (incluya Ntifs.h) |
biblioteca de |
NtosKrnl.lib |
DLL de |
NtosKrnl.exe |
irQL | PASSIVE_LEVEL (consulte la sección Comentarios) |
reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |
Consulte también
fltSetSecurityObject de
usar versiones Nt y Zw de las rutinas de servicios del sistema nativo