RtlSetGroupSecurityDescriptor 函数 (ntifs.h)

RtlSetGroupSecurityDescriptor 例程设置绝对格式安全描述符的主组信息。 它将替换安全描述符中已存在的任何主组信息。

语法

NTSYSAPI NTSTATUS RtlSetGroupSecurityDescriptor(
  [in, out]      PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in, optional] PSID                 Group,
  [in, optional] BOOLEAN              GroupDefaulted
);

参数

[in, out] SecurityDescriptor

指向要设置其主组 的SECURITY_DESCRIPTOR 结构的指针。 RtlSetGroupSecurityDescriptor 将任何现有主组替换为新的主组。

[in, optional] Group

指向安全描述符的新主所有者的安全标识符 (SID) 结构的指针。 此指针(而不是 SID 结构本身)将复制到安全描述符中。 如果 NULL则 RtlSetGroupSecurityDescriptor 将清除安全描述符的主组信息。 这会将安全描述符标记为没有主组。

[in, optional] GroupDefaulted

如果主要组信息派生自默认机制,请将此布尔变量设置为 TRUE 。 如果此参数为 TRUE则 RtlSetGroupSecurityDescriptor 在安全描述符的SECURITY_DESCRIPTOR_CONTROL字段中设置SE_GROUP_DEFAULTED标志。 如果此参数为 FALSE则 RtlSetGroupSecurityDescriptor 将清除SE_GROUP_DEFAULTED标志。

返回值

如果成功设置或重置主组,RtlSetGroupSecurityDescriptor 将返回STATUS_SUCCESS。 否则,它将返回相应的 NTSTATUS 值,如以下值之一:

返回代码 说明
STATUS_INVALID_SECURITY_DESCR
给定的安全描述符不是有效的绝对安全描述符。 STATUS_INVALID_SECURITY_DESCR是错误代码。
STATUS_UNKNOWN_REVISION
此例程无法识别给定安全描述符的修订。 STATUS_UNKNOWN_REVISION是错误代码。

注解

若要检索安全描述符的主组信息,请使用 RtlGetGroupSecurityDescriptor

若要设置安全描述符的所有者信息,请使用 RtlSetOwnerSecurityDescriptor

有关安全性和访问控制的详细信息,请参阅Microsoft Windows SDK文档。

要求

要求
最低受支持的客户端 Windows Server 2003 SP1
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe (内核模式) ;Ntdll.dll (用户模式)
IRQL <= APC_LEVEL

另请参阅

RtlGetGroupSecurityDescriptor

RtlSetOwnerSecurityDescriptor

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL

SID