wdm.h) (OB_OPERATION_REGISTRATION 结构
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
指定以下一个或多个标志:
OB_OPERATION_HANDLE_CREATE
已打开或将要打开新的进程、线程或桌面句柄。
OB_OPERATION_HANDLE_DUPLICATE
进程、线程或桌面句柄已复制或将要重复。
PreOperation
指向 ObjectPreCallback 例程的指针。 系统在请求的操作发生之前调用此例程。
PostOperation
指向 ObjectPostCallback 例程的指针。 系统在请求的操作发生后调用此例程。
注解
ObRegisterCallbacks 例程使用此结构。 此例程的 CallBackRegistration 参数是指向包含 OB_CALLBACK_REGISTRATION 结构的缓冲区的指针,该结构后跟一个或多个 OB_OPERATION_REGISTRATION 结构的数组。
在传递给 ObRegisterCallback 的每个OB_OPERATION_REGISTRATION结构中,调用方必须提供一个或两个回调例程。 如果此结构的 PreOperation 和 PostOperation 成员均为 NULL,则回调注册操作将失败。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows Server 2008 开始可用。 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |