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 會根據下列條件傳回 TRUE 或 FALSE:
如果 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 |