Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The IoIs32bitProcess routine checks whether the originator of the current I/O request is a 32-bit user-mode application.
Syntax
BOOLEAN IoIs32bitProcess(
[in, optional] PIRP Irp
);
Parameters
[in, optional] Irp
Optional pointer to the IRP containing the current I/O request. Note that this must be the original IRP that was issued by the I/O manager. If the caller is a fast I/O dispatch routine (and thus there is no IRP), the caller should set this parameter to NULL.
Return value
IoIs32bitProcess returns TRUE if the originator of the current I/O request is a 32-bit user-mode process. Otherwise, it returns FALSE.
Remarks
Drivers call IoIs32bitProcess to determine whether an I/O request is likely to contain data elements that need to be converted, or "thunked," before they can be used in a 64-bit driver.
If the Irp parameter is NULL, and the caller is running in the context of a user-mode process, IoIs32bitProcess returns TRUE if this process is a 32-bit process.
If the Irp parameter is not NULL, it must point to an IRP that was issued by the I/O manager on behalf of a user-mode process. IoIs32bitProcess cannot be used to check driver-allocated IRPs. Driver-allocated IRPs, as well as kernel-mode drivers, are assumed to be 64-bit-ready.
For more information, see Programming Issues for 64-Bit Drivers.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in 64-bit versions of Microsoft Windows XP and later 64-bit versions of the Windows operating system. |
Target Platform | Universal |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |