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


Функция FltIs32bitProcess (fltkernel.h)

Программа FltIs32bitProcess проверяет, является ли инициатор текущей операции ввода-вывода 32-разрядным приложением в режиме пользователя.

Синтаксис

BOOLEAN FLTAPI FltIs32bitProcess(
  [in, optional] PFLT_CALLBACK_DATA CallbackData
);

Параметры

[in, optional] CallbackData

Указатель на структуру данных обратного вызова для текущей операции ввода-вывода (FLT_CALLBACK_DATA). Этот параметр является необязательным и может быть null.

Возвращаемое значение

FltIs32bitProcess возвращает TRUE, если инициатор текущей операции ввода-вывода является 32-разрядным процессом пользовательского режима, FALSE в противном случае.

Замечания

Драйверы минифильтра вызывают FltIs32bitProcess определить, может ли запрос ввода-вывода содержать элементы данных, которые необходимо преобразовать, или "thunked", прежде чем они могут использоваться в 64-разрядном драйвере. Дополнительные сведения о thunking и других 64-разрядных проблемах драйверов см. в разделе Проблемы программирования для 64-разрядных драйверов.

В 32-разрядной системе FltIs32bitProcess всегда возвращает TRUE.

В 64-разрядной системе FltIs32bitProcess возвращает TRUE или FALSEв соответствии со следующими условиями:

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

  • Если параметр callbackData не NULL, а структура данных обратного вызова представляет операцию ввода-вывода на основе IRP, в которой IRP был выдан диспетчером операций ввода-вывода от имени процесса пользовательского режима, FltIs32bitProcess возвращает TRUE.

  • Если параметр CallbackData не NULL, структура данных обратного вызова представляет быструю операцию ввода-вывода или операцию обратного вызова файловой системы (FSFilter), а вызывающий объект выполняется в контексте 32-разрядного процесса пользовательского режима, FltIs32bitProcess возвращает TRUE.

  • Если ни одно из указанных выше условий true, FltIs32bitProcess возвращает FALSE.

Чтобы определить, представляет ли структура данных обратного вызова операцию ввода-вывода на основе IRP, используйте макрос FLT_IS_IRP_OPERATION.

Чтобы определить, представляет ли структура данных обратного вызова быструю операцию ввода-вывода, используйте макрос FLT_IS_FASTIO_OPERATION.

Чтобы определить, представляет ли структура обратного вызова фильтр файловой системы (FSFilter), используйте макрос FLT_IS_FS_FILTER_OPERATION.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Microsoft Windows XP с пакетом обновления 2 (SP2)
минимальный поддерживаемый сервер Microsoft Windows Server 2003 с пакетом обновления 1 (SP1)
целевая платформа Всеобщий
заголовка fltkernel.h (include Fltkernel.h)
библиотеки FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

См. также

FLT_CALLBACK_DATA

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

IoIs32bitProcess