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


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

Следующий компонент объединения используется, когда поле MajorFunctionструктуры FLT_IO_PARAMETER_BLOCK для операции IRP_MJ_RELEASE_FOR_MOD_WRITE.

Синтаксис

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    PERESOURCE ResourceToRelease;
  } ReleaseForModifiedPageWriter;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Члены

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

  • ResourceToRelease: указатель на ресурс, который требуется освободить.

Комментарии

Структура FLT_PARAMETERS для IRP_MJ_RELEASE_FOR_MOD_WRITE операций содержит параметры операции ReleaseForModifiedPageWriter , представленные структурой данных обратного вызова (FLT_CALLBACK_DATA). Он содержится в FLT_IO_PARAMETER_BLOCK структуре.

IRP_MJ_RELEASE_FOR_MOD_WRITE — это операция обратного вызова файловой системы (FSFilter).

IRP_MJ_RELEASE_FOR_MOD_WRITE обычно вызывается из измененного модуля записи страницы в составе специального ядра APC. Он всегда выполняется в irQL = APC_LEVEL. Так как он может вызываться в контексте специального ядра APC, он может вытеснять код в режиме ядра, который выполняется в IRQL = PASSIVE_LEVEL, включая как пользовательские APC, так и обычные APC ядра. Поэтому будьте внимательны при ожидании ресурсов, которые могут находиться в потоке, который IRP_MJ_RELEASE_FOR_MODE_WRITE операция могла вытеснеть. Попытка ожидания таких ресурсов может привести к взаимоблокировке.

Дополнительные сведения об операциях обратного вызова FSFilter см. в справочной записи для FsRtlRegisterFileSystemFilterCallbacks.

Требования

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

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

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

FsRtlRegisterFileSystemFilterCallbacks