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 根据以下条件返回 TRUEFALSE

  • 如果 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

另请参阅

FLT_CALLBACK_DATA

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

IoIs32bitProcess