FltBuildDefaultSecurityDescriptor 函数 (fltkernel.h)

FltBuildDefaultSecurityDescriptor 生成用于 FltCreateCommunicationPort 的默认安全描述符。

语法

NTSTATUS FLTAPI FltBuildDefaultSecurityDescriptor(
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [in]  ACCESS_MASK          DesiredAccess
);

参数

[out] SecurityDescriptor

指向调用方分配的变量的指针,该变量接收指向新创建的 SECURITY_DESCRIPTOR的不透明指针。

[in] DesiredAccess

指定调用方需要对端口对象的访问类型的标志的位掩码。 系统定义的 DesiredAccess 标志集确定微筛选器驱动程序通信端口对象的以下特定访问权限。

DesiredAccess 标志 含义
FLT_PORT_CONNECT 调用方可以连接到端口。
FLT_PORT_ALL_ACCESS FLT_PORT_CONNECT |STANDARD_RIGHTS_ALL

返回值

FltBuildDefaultSecurityDescriptor 返回STATUS_SUCCESS或相应的 NTSTATUS 值,例如以下值之一:

返回代码 说明
STATUS_INSUFFICIENT_RESOURCES
FltBuildDefaultSecurityDescriptor 遇到池分配失败。 这是错误代码。

注解

创建微筛选器驱动程序通信端口时,微筛选器驱动程序可以调用 FltBuildDefaultSecurityDescriptor 为该端口创建默认安全描述符。 然后,微筛选器驱动程序通过调用 InitializeObjectAttributesFltCreateCommunicationPort 来创建端口。 安全描述符作为参数传递给 InitializeObjectAttributes

FltBuildDefaultSecurityDescriptor 使系统从分页池分配默认安全描述符。 将此安全描述符应用于对象时,只有具有系统或管理员权限的用户才有权访问该对象。

微筛选器驱动程序通常在调用 FltCreateCommunicationPort 后立即调用 FltBuildDefaultSecurityDescriptor,然后立即调用 FltCreateCommunicationPortFltFreeSecurityDescriptor

要求

要求
目标平台 通用
标头 fltkernel.h (包括 Fltkernel.h)
Library FltMgr.lib
IRQL <= APC_LEVEL

另请参阅

ACCESS_MASK

FltCreateCommunicationPort

FltFreeSecurityDescriptor

InitializeObjectAttributes

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

SECURITY_DESCRIPTOR