Функция 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 |