Функция IoIs32bitProcess (wdm.h)
Подпрограмма IoIs32bitProcess проверяет, является ли инициатор текущего запроса ввода-вывода 32-разрядным приложением пользовательского режима.
Синтаксис
BOOLEAN IoIs32bitProcess(
[in, optional] PIRP Irp
);
Параметры
[in, optional] Irp
Необязательный указатель на IRP, содержащий текущий запрос ввода-вывода. Обратите внимание, что это должен быть исходный IRP, выданный диспетчером операций ввода-вывода. Если вызывающий объект является быстрой подпрограммой диспетчеризации ввода-вывода (и, следовательно, не существует IRP), вызывающий объект должен задать для этого параметра значение NULL.
Возвращаемое значение
IoIs32bitProcess возвращает значение TRUE , если инициатором текущего запроса ввода-вывода является 32-разрядный процесс в пользовательском режиме. В противном случае возвращается значение FALSE.
Комментарии
Драйверы вызывают IoIs32bitProcess , чтобы определить, будет ли запрос ввода-вывода содержать элементы данных, которые необходимо преобразовать или "thunked", прежде чем их можно будет использовать в 64-разрядном драйвере.
Если параметр Irp имеет значение NULL и вызывающий объект выполняется в контексте процесса пользовательского режима, IoIs32bitProcess возвращает значение TRUE , если этот процесс является 32-разрядным процессом.
Если параметр Irp не равен NULL, он должен указывать на IRP, выданный диспетчером ввода-вывода от имени процесса пользовательского режима. IoIs32bitProcess нельзя использовать для проверка irp, выделенных драйверами. Предполагается, что irP, выделенные драйверами, а также драйверы в режиме ядра, являются 64-разрядными.
Дополнительные сведения см. в разделе Проблемы программирования для 64-разрядных драйверов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в 64-разрядных версиях Microsoft Windows XP и более поздних 64-разрядных версиях операционной системы Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |