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

  • 如果 CallbackData 参数 NULL,并且调用方在 32 位用户模式进程的上下文中运行,FltIs32bitProcess 返回 TRUE

  • 如果 CallbackData 参数未 NULL,并且回调数据结构表示基于 IRP 的 I/O作,其中 I/O 管理器代表用户模式进程发出 IRP,FltIs32bitProcess 返回 TRUE

  • 如果 CallbackData 参数未 NULL,则回调数据结构表示快速 I/O作或文件系统筛选器 (FSFilter) 回调作,并且调用方在 32 位用户模式进程的上下文中运行,FltIs32bitProcess 返回 TRUE

  • 如果上述条件均未 为 trueFltIs32bitProcess 返回 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

另请参阅

FLT_CALLBACK_DATA

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

IoIs32bitProcess