CmRegisterCallbackEx 関数 (wdm.h)
CmRegisterCallbackEx ルーチンは、RegistryCallback ルーチンを登録します。
構文
NTSTATUS CmRegisterCallbackEx(
[in] PEX_CALLBACK_FUNCTION Function,
[in] PCUNICODE_STRING Altitude,
[in] PVOID Driver,
[in, optional] PVOID Context,
[out] PLARGE_INTEGER Cookie,
PVOID Reserved
);
パラメーター
[in] Function
登録する RegistryCallback ルーチンへのポインター。
[in] Altitude
UNICODE_STRING構造体へのポインター。 この構造体には、呼び出し元のミニフィルター ドライバーの高度を表す文字列を含める必要があります。 詳細については、「解説」を参照してください。
[in] Driver
ドライバーを表す DRIVER_OBJECT 構造体へのポインター。
[in, optional] Context
構成マネージャーが CallbackContext パラメーターとして RegistryCallback ルーチンに渡すドライバー定義の値。
[out] Cookie
コールバック ルーチンを識別する値を受け取るLARGE_INTEGER変数へのポインター。 コールバック ルーチンの登録を解除する場合は、この値を Cookie パラメーターとして CmUnRegisterCallback に渡します。
Reserved
このパラメーターは将来使用するために予約されています。
戻り値
CmRegisterCallbackEx は 、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、このルーチンは次の NTSTATUS 値のいずれかを返す可能性があります。
リターン コード | 説明 |
---|---|
|
呼び出し元のドライバーまたは別のドライバーは、指定された高度の RegistryCallback ルーチンを既に登録しています。 |
|
メモリを割り当てようとしましたが失敗しました。 |
注釈
CmRegisterCallbackEx ルーチンは、Windows Vista 以降で使用できます。
ドライバーは 、CmRegisterCallback または CmRegisterCallbackEx を呼び出して RegistryCallback ルーチンを登録できます。これは、スレッドがレジストリに対して操作を実行するたびに呼び出されます。
Altitude パラメーターは、ミニフィルターが読み込まれるときに、I/O スタック内の他のミニフィルターに対するミニフィルター ドライバーの位置を定義します。 ミニフィルターへの高度の割り当ては、Microsoft によって管理されます。 高度の詳細については、「 ミニフィルター ドライバーの注文グループと高度の読み込み」を参照してください。
CmUnRegisterCallback を呼び出して、CmRegisterCallbackEx が登録したコールバック ルーチンの登録を解除します。
CmRegisterCallbackEx とレジストリ操作のフィルター処理の詳細については、「レジストリ呼び出しのフィルター処理」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), IrqlExApcLte2(wdm) |