FsRtlNotifyVolumeEvent 函式 (ntifs.h)

FsRtlNotifyVolumeEvent 例程會通知發生磁碟區事件的任何已註冊應用程式。

語法

NTSTATUS FsRtlNotifyVolumeEvent(
  [in] PFILE_OBJECT FileObject,
  [in] ULONG        EventCode
);

參數

[in] FileObject

指定磁碟區之檔案物件的指標。

[in] EventCode

指定發生之事件的事件代碼。 此程式代碼可以是下列其中一個值。

事件程序代碼 PnP 事件 GUID 意義
FSRTL_VOLUME_BACKGROUND_FORMAT GUID_IO_VOLUME_BACKGROUND_FORMAT 已起始背景格式作業。
FSRTL_VOLUME_CHANGE_SIZE GUID_IO_VOLUME_CHANGE_SIZE 磁碟區上的文件系統大小已變更。 對於 Windows Server 2003 和 Windows XP/2000,不支援此值。
FSRTL_VOLUME_DISMOUNT GUID_IO_VOLUME_DISMOUNT 正在卸除磁碟區。
FSRTL_VOLUME_DISMOUNT_FAILED GUID_IO_VOLUME_DISMOUNT_FAILED 磁碟區卸除失敗。
FSRTL_VOLUME_FORCED_CLOSED GUID_IO_VOLUME_FORCE_CLOSED 磁碟區已由文件系統設為唯讀。 此旗標適用於 Windows Vista 和更新版本。
FSRTL_VOLUME_INFO_MAKE_COMPAT GUID_IO_VOLUME_INFO_MAKE_COMPAT 磁碟區媒體已移除,但處於不相容狀態,且可能無法由不同的卸載式媒體儲存裝置讀取。 此旗標適用於 Windows Vista 和更新版本。
FSRTL_VOLUME_LOCK GUID_IO_VOLUME_LOCK 磁碟區正在鎖定。
FSRTL_VOLUME_LOCK_FAILED GUID_IO_VOLUME_LOCK_FAILED 磁碟區鎖定失敗。
FSRTL_VOLUME_MOUNT GUID_IO_VOLUME_MOUNT 正在掛接磁碟區。
FSRTL_VOLUME_NEEDS_CHKDSK GUID_IO_VOLUME_NEED_CHKDSK 在磁碟區上偵測到數據損毀,而且必須藉由執行 Chkdsk 加以更正。 此旗標適用於 Windows Vista 和更新版本。
FSRTL_VOLUME_PREPARING_EJECT GUID_IO_VOLUME_PREPARING_EJECT 檔系統正在準備退出的磁碟。 對於 Windows Server 2003 和 Windows XP/2000,不支援此值。
FSRTL_VOLUME_UNLOCK GUID_IO_VOLUME_UNLOCK 磁碟區正在解除鎖定。
FSRTL_VOLUME_WEARING_OUT GUID_IO_VOLUME_WEARING_OUT 磁碟區媒體正在穿戴。此旗標適用於 Windows Vista 和更新版本。
FSRTL_VOLUME_WORM_NEAR_FULL GUID_IO_VOLUME_WORM_NEAR_FULL 磁碟區是一次寫入、讀取多 (WORM) 磁碟區,且幾乎已滿。 此旗標適用於 Windows Vista 和更新版本。

傳回值

FsRtlNotifyVolumeEvent 會傳回通知的狀態。

備註

文件系統會呼叫 FsRtlNotifyVolumeEvent ,以通知任何已註冊的使用者模式應用程式發生磁碟區事件。

PnP 事件 GUID 值定義於 Ioevent.h 中。

若要註冊磁碟區事件通知,應用程式必須呼叫 Microsoft Win32 RegisterDeviceNotification 函式。 如需詳細資訊,請參閱 Microsoft Windows SDK 檔中的 裝置管理 一節。

規格需求

需求
最低支援的用戶端 Windows XP
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

IoRegisterPlugPlayNotification

IoUnregisterPlugPlayNotification