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。
返回值
FltIs32bitProcess 如果当前 I/O作的发起方是 32 位用户模式进程,则返回 TRUE,否则 FALSE。
言论
微型筛选器驱动程序调用 FltIs32bitProcess 以确定 I/O 请求是否可能包含需要转换的数据元素或“thunked”,然后才能在 64 位驱动程序中使用它们。 有关 thunking 和其他 64 位驱动程序问题的详细信息,请参阅 64 位驱动程序的编程问题。
在 32 位系统上,FltIs32bitProcess 始终返回 TRUE。
在 64 位系统上,FltIs32bitProcess 根据以下条件返回 true 或 FALSE:
如果 CallbackData 参数 NULL,并且调用方在 32 位用户模式进程的上下文中运行,FltIs32bitProcess 返回 TRUE。
如果 CallbackData 参数未 NULL,并且回调数据结构表示基于 IRP 的 I/O作,其中 I/O 管理器代表用户模式进程发出 IRP,FltIs32bitProcess 返回 TRUE。
如果 CallbackData 参数未 NULL,则回调数据结构表示快速 I/O作或文件系统筛选器 (FSFilter) 回调作,并且调用方在 32 位用户模式进程的上下文中运行,FltIs32bitProcess 返回 TRUE。
如果上述条件均未 为 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) |
库 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |