IRP_MJ_RELEASE_FOR_MOD_WRITE联合FLT_PARAMETERS
当操作的FLT_IO_PARAMETER_BLOCK结构的 MajorFunction 字段IRP_MJ_RELEASE_FOR_MOD_WRITE时,使用以下联合组件。
语法
typedef union _FLT_PARAMETERS {
... ;
struct {
PERESOURCE ResourceToRelease;
} ReleaseForModifiedPageWriter;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
成员
ReleaseForModifiedPageWriter:包含以下成员的结构。
ResourceToRelease:指向要释放的资源的指针。
注解
IRP_MJ_RELEASE_FOR_MOD_WRITE 操作的 FLT_PARAMETERS 结构包含 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) |