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,并且调用方在用户模式进程的上下文中运行,IoIs32bitProcess 如果此过程是 32 位进程,则返回 TRUE。
如果 Irp 参数未 NULL,则它必须指向 I/O 管理器代表用户模式进程颁发的 IRP。 IoIs32bitProcess 不能用于检查驱动程序分配的 IRP。 驱动程序分配的 IRP 以及内核模式驱动程序假定为 64 位就绪。
有关详细信息,请参阅 64 位驱动程序的编程问题。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 64 位版本的 Microsoft Windows XP 及更高版本的 Windows作系统中提供。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |