次の方法で共有


OB_OPERATION_REGISTRATION 構造体 (wdm.h)

OB_OPERATION_REGISTRATION構造体は、ObjectPreCallback および ObjectPostCallback コールバック ルーチン、およびルーチンが呼び出される操作の種類を指定します。

構文

typedef struct _OB_OPERATION_REGISTRATION {
  POBJECT_TYPE                *ObjectType;
  OB_OPERATION                Operations;
  POB_PRE_OPERATION_CALLBACK  PreOperation;
  POB_POST_OPERATION_CALLBACK PostOperation;
} OB_OPERATION_REGISTRATION, *POB_OPERATION_REGISTRATION;

メンバー

ObjectType

コールバック ルーチンをトリガーするオブジェクト型へのポインター。 次のいずれかの値を指定します。

  • プロセス ハンドル操作の PsProcessType
  • スレッド ハンドル操作の PsThreadType
  • デスクトップ ハンドル操作用の ExDesktopObjectType。 この値は、以前のバージョンのオペレーティング システムではなく、Windows 10でサポートされています。

Operations

次のフラグを 1 つ以上指定します。

OB_OPERATION_HANDLE_CREATE

新しいプロセス、スレッド、またはデスクトップ ハンドルが開かれたか、開かれます。

OB_OPERATION_HANDLE_DUPLICATE

プロセス、スレッド、またはデスクトップ ハンドルがまたは複製されます。

PreOperation

ObjectPreCallback ルーチンへのポインター。 システムは、要求された操作が発生する前に、このルーチンを呼び出します。

PostOperation

ObjectPostCallback ルーチンへのポインター。 システムは、要求された操作が発生した後、このルーチンを呼び出します。

注釈

この構造体は、 ObRegisterCallbacks ルーチンによって使用されます。 このルーチンの CallBackRegistration パラメーターは、1 つ以上のOB_OPERATION_REGISTRATION構造体の配列が続くOB_CALLBACK_REGISTRATION構造体を含むバッファーへのポインターです。

ObRegisterCallback に渡される各OB_OPERATION_REGISTRATION構造体では、呼び出し元は一方または両方のコールバック ルーチンを指定する必要があります。 この構造体の PreOperation メンバーと PostOperation メンバーの両方が NULL の場合、コールバック登録操作は失敗します。

要件

要件
サポートされている最小のクライアント Windows Server 2008 以降で使用できます。
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)

こちらもご覧ください

OB_CALLBACK_REGISTRATION

ObRegisterCallbacks

ObjectPostCallback

ObjectPreCallback