英語で読む

次の方法で共有


POB_PRE_OPERATION_CALLBACKコールバック関数 (wdm.h)

ObjectPreCallback ルーチンは、プロセスまたはスレッド ハンドル操作が発生したときにオペレーティング システムによって呼び出されます。

警告

このコールバックで実行できるアクションは、安全な呼び出しに対して制限されます。 詳細については、「Windows Kernel-Mode プロセスとスレッド マネージャーの 」を参照してください。

構文

C++
POB_PRE_OPERATION_CALLBACK PobPreOperationCallback;

OB_PREOP_CALLBACK_STATUS PobPreOperationCallback(
  [in] PVOID RegistrationContext,
  [in] POB_PRE_OPERATION_INFORMATION OperationInformation
)
{...}

パラメーター

[in] RegistrationContext

ドライバーが CallBackRegistrationとして指定するコンテキスト - ObRegisterCallbacks ルーチンの RegistrationContextパラメーターを> します。 この値の意味はドライバー定義です。

[in] OperationInformation

ハンドル操作のパラメーターを指定する OB_PRE_OPERATION_INFORMATION 構造体へのポインター。

戻り値

ObjectPreCallback は、OB_PREOP_CALLBACK_STATUS値を返します。 ドライバーはOB_PREOP_SUCCESSを返す必要があります。

備考

ObRegisterCallbacks ルーチンを使用して、ObjectPreCallback ルーチンを登録し、ObUnRegisterCallbacks ルーチンを使用してルーチンの登録を解除します。

このルーチンは、通常のカーネル APCs が無効になっている任意のスレッド コンテキストのPASSIVE_LEVELで呼び出されます。 特殊なカーネル API は無効ではありません。 APCs の詳細については、「APCの種類」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Server 2008 以降で使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
IRQL PASSIVE_LEVELで呼び出されます (「解説」セクションを参照)。

関連項目

OB_PRE_OPERATION_INFORMATION

ObRegisterCallbacks

ObUnRegisterCallbacks

ObjectPostCallback