ObRegisterCallbacks 関数 (wdm.h)
ObRegisterCallbacks ルーチンは、スレッド、プロセス、およびデスクトップ ハンドル操作のコールバック ルーチンの一覧を登録します。
構文
NTSTATUS ObRegisterCallbacks(
[in] POB_CALLBACK_REGISTRATION CallbackRegistration,
[out] PVOID *RegistrationHandle
);
パラメーター
[in] CallbackRegistration
コールバック ルーチンとその 他の登録 情報の一覧を指定するOB_CALLBACK_REGISTRATION構造体へのポインター。
[out] RegistrationHandle
登録済みのコールバック ルーチンのセットを識別する値を受け取る変数へのポインター。 呼び出し元は、この値を ObUnRegisterCallbacks ルーチンに渡して、コールバックのセットの登録を解除します。
戻り値
ObRegisterCallbacks は NTSTATUS 値を返します。 このルーチンは、次のいずれかの値を返す場合があります。
リターン コード | 説明 |
---|---|
|
指定されたコールバック ルーチンがシステムに登録されます。 |
|
呼び出し元のドライバーまたは別のドライバーには、 CallBackRegistration->の高度 が指定する高度のコールバック ルーチンが既に登録されています。 この高度の詳細については、OB_CALLBACK_REGISTRATIONの高度メンバーの説明を参照してください。 |
|
登録で指定された 1 つ以上のパラメーターが無効でした。 たとえば、CallBackRegistration->Version の無効な値が指定されている場合や、コールバック ルーチンをサポートしていないオブジェクト型に対して登録が試行された場合など、ObRegisterCallbacks は、このエラーを返す可能性があります。 |
|
コールバック ルーチンは、署名付きカーネル バイナリ イメージに存在しません。 |
|
メモリを割り当てようとしましたが失敗しました。 |
注釈
ドライバーは、アンロードする前にすべてのコールバック ルーチンの登録を解除する必要があります。 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 |