RtlSetOwnerSecurityDescriptor 函数 (ntifs.h)

RtlSetOwnerSecurityDescriptor 例程设置绝对格式安全描述符的所有者信息。 它将替换安全描述符中已存在的任何所有者信息。

语法

NTSYSAPI NTSTATUS RtlSetOwnerSecurityDescriptor(
  [in, out]      PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in, optional] PSID                 Owner,
  [in, optional] BOOLEAN              OwnerDefaulted
);

参数

[in, out] SecurityDescriptor

指向要设置其所有者的SECURITY_DESCRIPTOR结构的指针。 RtlSetOwnerSecurityDescriptor 将任何现有所有者替换为新所有者。

[in, optional] Owner

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

[in, optional] OwnerDefaulted

如果所有者信息派生自默认机制,则设置为 TRUE。 如果此值 TRUE,则为默认信息。 RtlSetOwnerSecurityDescriptor 设置安全描述符SECURITY_DESCRIPTOR_CONTROL字段中的SE_OWNER_DEFAULTED标志。 如果此参数 FALSE,则会清除SE_OWNER_DEFAULTED标志。

返回值

RtlSetOwnerSecurityDescriptor 可以返回以下状态代码之一:

返回代码 描述
STATUS_SUCCESS
所有者已成功设置或重置。
STATUS_UNKNOWN_REVISION
此例程无法识别给定的安全描述符的版本。
STATUS_INVALID_SECURITY_DESCR
给定的安全描述符不是有效的绝对安全描述符。

言论

有关安全和访问控制的详细信息,请参阅适用于驱动程序开发人员 Windows 安全模型,以及有关 Windows SDK 中这些主题的文档。

要求

要求 价值
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe(内核模式):Ntdll.dll(用户模式)
IRQL < DISPATCH_LEVEL

另请参阅

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR

SECURITY_DESCRIPTOR_CONTROL

SID

SeAssignSecurity