IoRegisterFsRegistrationChangeEx 関数 (ntifs.h)

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

構文

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

パラメーター

[in] DriverObject

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

[in] DriverNotificationRoutine

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

戻り値

IoRegisterFsRegistrationChangeEx は 、次のいずれかの値を返します。

リターン コード 説明
STATUS_SUCCESS
通知ルーチンが正常に登録されました。
STATUS_INSUFFICIENT_RESOURCES
通知パケットを通知ルーチンに割り当てませんでした。

注釈

IoRegisterFsRegistrationChangeEx の効果は、Windows XP 以降の IoRegisterFsRegistrationChange の効果と同じです。

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

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

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

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

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

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

ファイル システム フィルター ドライバーが IoRegisterFsRegistrationChangeEx を連続して 2 回呼び出す場合 (その間に IoUnregisterFsRegistrationChange を呼び出さずに)、前回の呼び出しで登録した DriverObject パラメーターDriverNotificationRoutine パラメーターに同じ値を IoRegisterFsRegistrationChangeEx に渡し、最初の呼び出し以降に登録されたフィルター ドライバーは他にありません。はSTATUS_DEVICE_ALREADY_ATTACHEDを返します。

要件

要件
サポートされている最小のクライアント このルーチンは、Windows 2000 Service Pack 4 (SP4) オペレーティング システムの更新プログラムのロールアップでのみ使用できます。
対象プラットフォーム デスクトップ
Header ntifs.h (Ntifs.h を含む)
IRQL <= APC_LEVEL

こちらもご覧ください

IoRegisterFileSystem

IoRegisterFsRegistrationChange

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange