IoIs32bitProcess 函数 (wdm.h)

IoIs32bitProcess 例程检查当前 I/O 请求的发起方是否为 32 位用户模式应用程序。

语法

BOOLEAN IoIs32bitProcess(
  [in, optional] PIRP Irp
);

参数

[in, optional] Irp

指向包含当前 I/O 请求的 IRP 的可选指针。 请注意,这必须是 I/O 管理器颁发的原始 IRP。 如果调用方是快速 I/O 调度例程 (,因此没有 IRP) ,则调用方应将此参数设置为 NULL

返回值

如果当前 I/O 请求的发起方是 32 位用户模式进程,IoIs32bitProcess 将返回 TRUE。 否则,它将返回 FALSE

注解

驱动程序调用 IoIs32bitProcess 以确定 I/O 请求在 64 位驱动程序中使用之前,是可能包含需要转换的数据元素还是“已转换”的数据元素。

如果 Irp 参数为 NULL,并且调用方在用户模式进程的上下文中运行,则如果此过程是 32 位进程, IoIs32bitProcess 将返回 TRUE

如果 Irp 参数不为 NULL,则必须指向 I/O 管理器代表用户模式进程颁发的 IRP。 IoIs32bitProcess 不能用于检查驱动程序分配的 IRP。 假定驱动程序分配的 IRP 以及内核模式驱动程序为 64 位就绪。

有关详细信息,请参阅 64 位驱动程序的编程问题

要求

要求
最低受支持的客户端 在 64 位版本的 Microsoft Windows XP 和更高版本的 Windows 操作系统中可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL