IoRegisterFsRegistrationChangeEx 函式 (ntifs.h)

每當文件系統將本身註冊或取消註冊為使用中文件系統時, IoRegisterFsRegistrationChangeEx 例程會註冊文件系統篩選器驅動程式的通知例程。

語法

NTSTATUS IoRegisterFsRegistrationChangeEx(
  [in] PDRIVER_OBJECT          DriverObject,
  [in] PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
);

參數

[in] DriverObject

檔系統篩選驅動程式之驅動程式物件的指標。

[in] DriverNotificationRoutine

PDRIVER_FS_NOTIFICATION 例程 的指標,文件系統在註冊或取消註冊本身時會呼叫此例程。

傳回值

IoRegisterFsRegistrationChangeEx 會傳回下列其中一個值:

傳回碼 Description
STATUS_SUCCESS
已成功註冊通知例程。
STATUS_INSUFFICIENT_RESOURCES
無法為通知例程配置通知封包。

備註

IoRegisterFsRegistrationChangeEx 的效果與 Windows XP 和更新版本上 IoRegisterFsRegistrationChange 的效果相同。

每當文件系統呼叫 IoRegisterFileSystemIoUnregisterFileSystem 時,IoRegisterFsRegistrationChangeEx 會註冊要通知的文件系統篩選驅動程式。

若要停止接收這類通知,篩選驅動程式應該呼叫 IoUnregisterFsRegistrationChange

當文件系統篩選驅動程式呼叫 IoRegisterFsRegistrationChangeEx 時,也會立即針對所有目前已註冊的文件系統呼叫其通知例程 (,也就是已經呼叫 IoRegisterFileSystem 但尚未呼叫 IoUnregisterFileSystem) 的文件系統。

由於呼叫端的通知例程即使在 IoRegisterFsRegistrationChangeEx 傳回之前仍可呼叫,因此在建立需要處理這些通知的任何數據結構之前,篩選驅動程式不應該呼叫此例程。

IoRegisterFsRegistrationChangeEx 會忽略 RAW 裝置。 如需依名稱附加至RAW檔案系統的相關信息,請參閱 將篩選裝置物件附加至目標裝置物件

IoRegisterFsRegistrationChangeEx 會遞增篩選驅動程式驅動程式對象的參考計數。

如果文件系統篩選驅動程式連續 (呼叫 IoRegisterFsRegistrationChangeEx 兩次,而不在) 之間呼叫 IoUnregisterFsRegistrationChange ,則會針對 DriverObjectDriverNotificationRoutine 參數在先前呼叫 IoRegisterFsRegistrationChangeEx中註冊的相同值,而且自第一次呼叫 IoRegisterFsRegistrationChangeEx 之後未註冊其他篩選驅動程式會傳回 STATUS_DEVICE_ALREADY_ATTACHED。

規格需求

需求
最低支援的用戶端 此例程僅適用於 Windows 2000 Service Pack 4 (SP4) 操作系統的更新匯總。
目標平台 桌面
標頭 ntifs.h (包含 Ntifs.h)
IRQL <= APC_LEVEL

另請參閱

IoRegisterFileSystem

IoRegisterFsRegistrationChange

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange