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 值,例如以下值之一:
返回代码 | 说明 |
---|---|
|
FltBuildDefaultSecurityDescriptor 遇到池分配失败。 这是错误代码。 |
注解
创建微筛选器驱动程序通信端口时,微筛选器驱动程序可以调用 FltBuildDefaultSecurityDescriptor 为该端口创建默认安全描述符。 然后,微筛选器驱动程序通过调用 InitializeObjectAttributes 和 FltCreateCommunicationPort 来创建端口。 安全描述符作为参数传递给 InitializeObjectAttributes。
FltBuildDefaultSecurityDescriptor 使系统从分页池分配默认安全描述符。 将此安全描述符应用于对象时,只有具有系统或管理员权限的用户才有权访问该对象。
微筛选器驱动程序通常在调用 FltCreateCommunicationPort 后立即调用 FltBuildDefaultSecurityDescriptor,然后立即调用 FltCreateCommunicationPort 和 FltFreeSecurityDescriptor。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | fltkernel.h (包括 Fltkernel.h) |
Library | FltMgr.lib |
IRQL | <= APC_LEVEL |