FltIs32bitProcess 函式 (fltkernel.h)

FltIs32bitProcess 例程會檢查目前 I/O 作業的原點是否為 32 位使用者模式應用程式。

語法

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

參數

[in, optional] CallbackData

目前 I/O 作業的回呼數據結構的指標, (FLT_CALLBACK_DATA) 。 此參數是選擇性的,可以是 NULL

傳回值

如果目前 I/O 作業的原點為 32 位使用者模式進程,則 FltIs32bitProcess 會傳回 TRUE,否則為 FALSE

備註

Minifilter 驅動程式會呼叫 FltIs32bitProcess ,以判斷 I/O 要求是否可能包含需要轉換的數據元素或 “thunked”,才能在 64 位驅動程式中使用。 如需 Thunking 和其他 64 位驅動程式問題的詳細資訊,請參閱 64 位驅動程式的程式設計問題

在 32 位系統上, FltIs32bitProcess 一律會傳回 TRUE

在 64 位系統上, FltIs32bitProcess 會根據下列條件傳回 TRUEFALSE

  • 如果 CallbackData 參數為 NULL,且呼叫端在 32 位使用者模式進程的內容中執行, FltIs32bitProcess 會傳回 TRUE

  • 如果 CallbackData 參數不是 NULL,而回呼數據結構代表 IRP 型 I/O 作業,其中 I/O 管理員代表使用者模式進程發出 IRP,FltIs32bitProcess 會傳回 TRUE

  • 如果 CallbackData 參數不是 NULL,回呼數據結構代表快速的 I/O 作業或文件系統篩選 (FSFilter) 回呼作業,而呼叫端在 32 位使用者模式進程的內容中執行, FltIs32bitProcess 會傳回 TRUE

  • 如果上述條件都不是 true,FltIs32bitProcess 會傳回 FALSE。

若要判斷回呼數據結構是否代表以 IRP 為基礎的 I/O 作業,請使用 FLT_IS_IRP_OPERATION 宏。

若要判斷回呼數據結構是否代表快速的 I/O 作業,請使用 FLT_IS_FASTIO_OPERATION 宏。

若要判斷回呼數據結構是否代表文件系統篩選 (FSFilter) 回呼作業,請使用 FLT_IS_FS_FILTER_OPERATION 宏。

規格需求

需求
最低支援的用戶端 Microsoft Windows XP SP2
最低支援的伺服器 Microsoft Windows Server 2003 SP1
目標平台 Universal
標頭 fltkernel.h (包含 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