Функция 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 , чтобы создать дескриптор безопасности по умолчанию для порта. Затем драйвер минифильтра создает порт, вызывая InitializeObjectAttributes и FltCreateCommunicationPort. Дескриптор безопасности передается в качестве параметра в InitializeObjectAttributes.

FltBuildDefaultSecurityDescriptor заставляет систему выделить дескриптор безопасности по умолчанию из выгружаемого пула. Когда этот дескриптор безопасности применяется к объекту, доступ к объекту имеют только пользователи с правами системы или администратора.

Драйверы минифильтра обычно вызывают FltBuildDefaultSecurityDescriptor непосредственно перед вызовом FltCreateCommunicationPort и FltFreeSecurityDescriptor сразу после вызова FltCreateCommunicationPort.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека FltMgr.lib
IRQL <= APC_LEVEL

См. также раздел

ACCESS_MASK

FltCreateCommunicationPort

FltFreeSecurityDescriptor

InitializeObjectAttributes

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

SECURITY_DESCRIPTOR