IoRegisterFsRegistrationChangeMountAware 関数 (ntifs.h)

IoRegisterFsRegistrationChangeMountAware ルーチンは、ファイル システム フィルター ドライバーの通知ルーチンを登録します。 この通知ルーチンは、ファイル・システムがそれ自体をアクティブ・ファイル・システムとして登録または登録解除するたびに呼び出されます。

構文

NTSTATUS IoRegisterFsRegistrationChangeMountAware(
  [in] PDRIVER_OBJECT          DriverObject,
  [in] PDRIVER_FS_NOTIFICATION DriverNotificationRoutine,
  [in] BOOLEAN                 SynchronizeWithMounts
);

パラメーター

[in] DriverObject

ファイル システム フィルター ドライバーのドライバー オブジェクトへのポインター。

[in] DriverNotificationRoutine

ファイル システムが自身を登録または登録解除するときに呼び出す、 PDRIVER_FS_NOTIFICATION ルーチンへのポインター。

[in] SynchronizeWithMounts

TRUE に設定すると、このルーチンは、通知コールバックを行うときにマウント操作が進行中でないことを保証します。 FALSE に設定した場合、ルーチンはマウント操作との競合を回避しようとしません。

戻り値

次のいずれかの NTSTATUS 値を返します。

リターン コード 説明
STATUS_SUCCESS
通知ルーチンが正常に登録されました。
STATUS_INSUFFICIENT_RESOURCES
通知ルーチンに通知パケットを割り当てませんでした。
STATUS_DEVICE_ALREADY_ATTACHED
このドライバー オブジェクトは、この通知に既に登録されています。

注釈

IoRegisterFsRegistrationChangeMountAware は、ファイル システムが IoRegisterFileSystem または IoUnregisterFileSystem を呼び出すたびに通知を受け取るファイル システム フィルター ドライバーを登録 します

このような通知の受信を停止するには、フィルター ドライバーで IoUnregisterFsRegistrationChange を呼び出す必要があります。

SynchronizeWithMountsTRUE に指定すると、IoRegisterFsRegistrationChangeMountAware は現在のマウント操作が完了するまで待機し、IoRegisterFsRegistrationChangeMountAware が完了するまで新しいマウント操作を開始できません。

メモ ファイル システム フィルター ドライバーが IoRegisterFsRegistrationChangeMountAware を呼び出すと、その通知ルーチンは、現在登録されているすべてのファイル システム (つまり、 IoRegisterFileSystem を既に呼び出しているが、 IoUnregisterFileSystem をまだ呼び出していないファイル システム) に対してもすぐに呼び出されます。

呼び出し元の通知ルーチンは 、IoRegisterFsRegistrationChangeMountAware が返される前でも呼び出すことができるため、フィルター ドライバーは、データ構造を作成するまで、これらの通知を処理する必要があるまで、このルーチンを呼び出さないでください。

さらに、 IoRegisterFsRegistrationChangeMountAware は RAW デバイスを無視します。 名前で RAW ファイル システムにアタッチする方法については、「 フィルター デバイス オブジェクトをターゲット デバイス オブジェクトにアタッチする」を参照してください。

 
IoRegisterFsRegistrationChangeMountAware は、フィルター ドライバーのドライバー オブジェクトの参照カウントをインクリメントします。

要件

要件
サポートされている最小のクライアント IoRegisterFsRegistrationChangeMountAware ルーチンは Windows 7 です
対象プラットフォーム ユニバーサル
Header ntifs.h (FltKernel.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL < DISPATCH_LEVEL

こちらもご覧ください

IoRegisterFileSystem

IoRegisterFsRegistrationChange

IoRegisterFsRegistrationChangeEx

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange