wdm.h) (OB_OPERATION_REGISTRATION 结构

OB_OPERATION_REGISTRATION结构指定 ObjectPreCallbackObjectPostCallback 回调例程以及为其调用这些例程的操作类型。

语法

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

指定以下一个或多个标志:

OB_OPERATION_HANDLE_CREATE

已打开或将要打开新的进程、线程或桌面句柄。

OB_OPERATION_HANDLE_DUPLICATE

进程、线程或桌面句柄已复制或将要重复。

PreOperation

指向 ObjectPreCallback 例程的指针。 系统在请求的操作发生之前调用此例程。

PostOperation

指向 ObjectPostCallback 例程的指针。 系统在请求的操作发生后调用此例程。

注解

ObRegisterCallbacks 例程使用此结构。 此例程的 CallBackRegistration 参数是指向包含 OB_CALLBACK_REGISTRATION 结构的缓冲区的指针,该结构后跟一个或多个 OB_OPERATION_REGISTRATION 结构的数组。

在传递给 ObRegisterCallback 的每个OB_OPERATION_REGISTRATION结构中,调用方必须提供一个或两个回调例程。 如果此结构的 PreOperationPostOperation 成员均为 NULL,则回调注册操作将失败。

要求

要求
最低受支持的客户端 从 Windows Server 2008 开始可用。
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)

另请参阅

OB_CALLBACK_REGISTRATION

ObRegisterCallbacks

ObjectPostCallback

ObjectPreCallback