对于异步读取或写入操作,微筛选器驱动程序不得返回FLT_PREOP_SYNCHRONIZE。 这样做可能会严重降低微筛选器驱动程序和系统性能,甚至可能导致死锁,例如,如果已修改的页面编写器线程被阻止。 在为基于 IRP 的读取或写入操作返回FLT_PREOP_SYNCHRONIZE之前,微筛选器驱动程序应通过调用 FltIsOperationSynchronous 验证操作是否同步...
如果微筛选器的操作前回调例程返回FLT_PREOP_SYNCHRONIZE,则微筛选器必须为该操作注册相应的操作后回调。 当此例程返回FLT_PREOP_SYNCHRONIZE时,FltMgr在当前线程的上下文中调用微筛选器的操作后回调(IRQL <= APC_LEVEL)。 应仅针对基于 IRP 的 I/O 操作返回FLT_PREOP_SYNCHRONIZE。 如果返回的 I/O ...
FLT_PREOP_SYNCHRONIZE should only be returned for IRP-based I/O operations. If it is returned for an I/O operation that is not an IRP-based operation,FltMgrtreats this return value as if it were FLT_PREOP_SUCCESS_WITH_CALLBACK.
微型筛选器驱动程序为此 I/O作返回的状态值。 不能FLT_PREOP_PENDING、FLT_PREOP_SYNCHRONIZE或FLT_PREOP_DISALLOW_FASTIO。 必须是以下FLT_PREOP_CALLBACK_STATUS值之一。 有关这些值效果的详细信息,请参阅PFLT_PRE_OPERATION_CALLBACK参考条目的“备注”部分。
如果操作前回调函数 (PFLT_PRE_OPERATION_CALLBACK) 返回FLT_PREOP_SUCCESS_WITH_CALLBACK或FLT_PREOP_SYNCHRONIZECompletionContext可能是 NULL,也可能不是 NULL。 对于任何其他FLT_PREOP_CALLBACK_STATUS返回值,CompletionContext必须为 NULL。CompletionContext是筛选器定义的状态,从筛选器的操作前回调传递到相应的操...
微筛选器驱动程序不调用 FltIsOperationSynchronous 例程来确定此操作的预操作回调例程是否FLT_PREOP_SYNCHRONIZE返回。 从 I/O 管理器的角度来看,微筛选器驱动程序调用 FltIsOperationSynchronous 以确定操作本身是否同步。 只能重新发出基于 IRP 的 I/O 操作。 无法重新发出快速 I/O 操作和文件系统筛选器 (FS...
对于异步读取或写入操作,微筛选器驱动程序不得返回FLT_PREOP_SYNCHRONIZE。 这样做可能会严重降低微筛选器驱动程序和系统性能,甚至可能导致死锁,例如,如果已修改的页面编写器线程被阻止。 在为基于 IRP 的读取或写入操作返回FLT_PREOP_SYNCHRONIZE之前,微筛选器驱动程序应通过调用 FltIsOperationSynchronous 验证...
也就是说,TRUE 值并不指示微筛选器驱动程序在此操作的预操作回调 (PFLT_POST_OPERATION_CALLBACK) 例 程中返回了FLT_PREOP_SYNCHRONIZE。 相反, FltIsOperationSynchronous 返回TRUE 以指示 I/O 操作从 I/O 管理器的角度来看是同步的。 可对所有类操作调用 FltIsOperationSynchronous:快速 I/O、文件系统筛选...
如果迷你篩選驅動程式的前置作業回呼例程傳回 IRP 型 I/O 作業的FLT_PREOP_SYNCHRONIZE,在與作業前回呼相同的線程內容中,保證在 IRQL <= APC_LEVEL呼叫對應的後續作業回呼例程。 在產生IRP_MJ_CREATE作業的線程內容中,保證會在 IRQL PASSIVE_LEVEL呼叫建立後回呼例程。 迷你篩選驅動程式會藉由將回呼...
If a minifilter driver's pre-operation callback routine returns FLT_PREOP_SYNCHRONIZE for an IRP-based I/O operation, the corresponding post-operation callback routine is guaranteed to be called at IRQL <= APC_LEVEL, in the same thread context as the pre-operation callback. Post...