Поделиться через


FLT_PARAMETERS для объединения IRP_MJ_QUERY_SECURITY

Компонент объединения используется, когда поле MajorFunction структуры FLT_IO_PARAMETER_BLOCK для операции IRP_MJ_QUERY_SECURITY.

Синтаксис

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    SECURITY_INFORMATION    SecurityInformation;
    ULONG POINTER_ALIGNMENT Length;
    PVOID                   SecurityBuffer;
    PDML                    MdlAddress;
  } QuerySecurity;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Члены

  • QuerySecurity: структура, содержащая следующие элементы.

  • SecurityInformation: указатель на предоставленное вызывающим SECURITY_INFORMATION значение, указывающее запрашиваемые сведения о безопасности. Это может быть:

    Значение SecurityInformation Значение
    OWNER_SECURITY_INFORMATION Запрашивается идентификатор владельца объекта. Требуется доступ READ_CONTROL.
    GROUP_SECURITY_INFORMATION Запрашивается идентификатор основной группы объекта. Требуется доступ READ_CONTROL.
    DACL_SECURITY_INFORMATION Запрашивается дискреционный список управления доступом (DACL) объекта. Требуется доступ READ_CONTROL.
    SACL_SECURITY_INFORMATION Запрашивается системный ACL (SACL) объекта . Требуется доступ ACCESS_SYSTEM_SECURITY.
  • Длина: длина буфера, на который указывает SecurityBuffer (в байтах).

  • SecurityBuffer: указатель на предоставленный вызывающим выходной буфер, который получает копию дескриптора безопасности указанного объекта. Вызывающий процесс должен иметь право просматривать указанные аспекты состояния безопасности объекта. Структура SECURITY_DESCRIPTOR возвращается в само относительном формате. Этот член является необязательным и может иметь значение NULL, если MDL предоставляется в MdlAddress. См. Примечания.

  • MdlAddress: адрес списка дескрипторов памяти (MDL), описывающего буфер, на который указывает SecurityBuffer . Этот член является необязательным и может иметь значение NULL , если буфер предоставляется в SecurityBuffer. См. Примечания.

Комментарии

Структура FLT_PARAMETERS для операций IRP_MJ_QUERY_SECURITY содержит параметры для операции query-security-information на основе IRP, представленную структурой данных обратного вызова (FLT_CALLBACK_DATA). Он содержится в структуре FLT_IO_PARAMETER_BLOCK .

Если указаны буфер SecurityBuffer и MdlAddress , рекомендуется, чтобы минифильтры использовали MDL. Память, на которую указывает SecurityBuffer , допустима, если это адрес пользовательского режима, доступный в контексте вызывающего процесса, или если это адрес режима ядра.

Если минифильтр изменяет значение MdlAddress, то после обратного вызова после операции диспетчер фильтров освободит MDL, хранящийся в MdlAddress , и восстановит предыдущее значение MdlAddress.

В Windows XP и более поздних версиях объект, на который указывает элемент TargetFileObject структуры FLT_IO_PARAMETER_BLOCK, может представлять именованный поток данных. Дополнительные сведения об именованных потоках данных см. в разделе FILE_STREAM_INFORMATION.

IRP_MJ_QUERY_SECURITY — это операция на основе IRP.

Требования

Тип требования Требование
Заголовок Fltkernel.h (включая Fltkernel.h)

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

FILE_STREAM_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_PARAMETERS

IRP_MJ_QUERY_SECURITY

SECURITY_DESCRIPTOR

SECURITY_INFORMATION