Поделиться через


Функция 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-разрядном драйвере.

Если параметр IrpNULL, а вызывающий объект выполняется в контексте процесса пользовательского режима, IoIs32bitProcess возвращает TRUE, если этот процесс является 32-разрядным процессом.

Если параметр Irp не NULL, он должен указывать на IRP, выданный диспетчером операций ввода-вывода от имени процесса пользовательского режима. IoIs32bitProcess нельзя использовать для проверки выделенных драйвером irPs. Предполагается, что выделенные драйверами IRPs, а также драйверы в режиме ядра, должны быть готовы к 64-разрядной версии.

Дополнительные сведения см. в разделе Проблемы программирования для 64-разрядных драйверов.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в 64-разрядных версиях Microsoft Windows XP и более поздних 64-разрядных версиях операционной системы Windows.
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL