当作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结构包含回调数据(FLT_CALLBACK_DATA)结构表示的 ReleaseForModifiedPageWriter作的参数。 它包含在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) |