次の方法で共有


ObRegisterCallbacks 関数 (wdm.h)

ObRegisterCallbacks ルーチンは、スレッド、プロセス、およびデスクトップ ハンドル操作のコールバック ルーチンの一覧を登録します。

構文

NTSTATUS ObRegisterCallbacks(
  [in]  POB_CALLBACK_REGISTRATION CallbackRegistration,
  [out] PVOID                     *RegistrationHandle
);

パラメーター

[in] CallbackRegistration

コールバック ルーチンとその 他の登録 情報の一覧を指定するOB_CALLBACK_REGISTRATION構造体へのポインター。

[out] RegistrationHandle

登録済みのコールバック ルーチンのセットを識別する値を受け取る変数へのポインター。 呼び出し元は、この値を ObUnRegisterCallbacks ルーチンに渡して、コールバックのセットの登録を解除します。

戻り値

ObRegisterCallbacks は NTSTATUS 値を返します。 このルーチンは、次のいずれかの値を返す場合があります。

リターン コード 説明
STATUS_SUCCESS
指定されたコールバック ルーチンがシステムに登録されます。
STATUS_FLT_INSTANCE_ALTITUDE_COLLISION
呼び出し元のドライバーまたは別のドライバーには、 CallBackRegistration->の高度 が指定する高度のコールバック ルーチンが既に登録されています。 この高度の詳細については、OB_CALLBACK_REGISTRATION高度メンバーの説明を参照してください。
STATUS_INVALID_PARAMETER
登録で指定された 1 つ以上のパラメーターが無効でした。 たとえば、CallBackRegistration->Version の無効な値が指定されている場合や、コールバック ルーチンをサポートしていないオブジェクト型に対して登録が試行された場合など、ObRegisterCallbacks は、このエラーを返す可能性があります。
STATUS_ACCESS_DENIED
コールバック ルーチンは、署名付きカーネル バイナリ イメージに存在しません。
STATUS_INSUFFICIENT_RESOURCES
メモリを割り当てようとしましたが失敗しました。

注釈

ドライバーは、アンロードする前にすべてのコールバック ルーチンの登録を解除する必要があります。 ObUnRegisterCallbacks ルーチンを呼び出すことで、コールバック ルーチンの登録を解除できます。

要件

要件
サポートされている最小のクライアント Windows Vista Service Pack 1 (SP1) および Windows Server 2008 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL

こちらもご覧ください

OB_CALLBACK_REGISTRATION

ObUnRegisterCallbacks