fltIs32bitProcess 函数 (fltkernel.h)
FltIs32bitProcess 例程检查当前 I/O 操作的发起方是否为 32 位用户模式应用程序。
语法
BOOLEAN FLTAPI FltIs32bitProcess(
[in, optional] PFLT_CALLBACK_DATA CallbackData
);
参数
[in, optional] CallbackData
指向当前 I/O 操作 (FLT_CALLBACK_DATA) 的回调数据结构的指针。 此参数是可选的,可以为 NULL。
返回值
如果当前 I/O 操作的发起方是 32 位用户模式进程,则 FltIs32bitProcess 返回 TRUE,否则返回 FALSE。
注解
微筛选器驱动程序调用 FltIs32bitProcess 以确定 I/O 请求是否可能包含需要转换或“thunked”的数据元素,然后才能将其用于 64 位驱动程序。 有关 thunking 和其他 64 位驱动程序问题的详细信息,请参阅 64 位驱动程序的编程问题。
在 32 位系统上, FltIs32bitProcess 始终返回 TRUE。
在 64 位系统上, FltIs32bitProcess 根据以下条件返回 TRUE 或 FALSE:
如果 CallbackData 参数为 NULL,并且调用方在 32 位用户模式进程的上下文中运行, 则 FltIs32bitProcess 返回 TRUE。
如果 CallbackData 参数不为 NULL,并且回调数据结构表示 I/O 管理器代表用户模式进程发出 IRP 的基于 IRP 的 I/O 操作, 则 FltIs32bitProcess 返回 TRUE。
如果 CallbackData 参数不为 NULL,则回调数据结构表示快速 I/O 操作或文件系统筛选器 (FSFilter) 回调操作,并且调用方在 32 位用户模式进程的上下文中运行, FltIs32bitProcess 返回 TRUE。
如果上述条件均不 成立, 则 FltIs32bitProcess 返回 FALSE。
若要确定回调数据结构是否表示基于 IRP 的 I/O 操作,请使用 FLT_IS_IRP_OPERATION 宏。
若要确定回调数据结构是否表示快速 I/O 操作,请使用 FLT_IS_FASTIO_OPERATION 宏。
若要确定回调数据结构是否表示文件系统筛选器 (FSFilter) 回调操作,请使用 FLT_IS_FS_FILTER_OPERATION 宏。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Microsoft Windows XP SP2 |
最低受支持的服务器 | Microsoft Windows Server 2003 SP1 |
目标平台 | 通用 |
标头 | fltkernel.h (包括 Fltkernel.h) |
Library | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈