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 を含む) |