структура 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
Укажите один или несколько следующих флагов:
OB_OPERATION_HANDLE_CREATE
Был или будет открыт новый процесс, поток или дескриптор рабочего стола.
OB_OPERATION_HANDLE_DUPLICATE
Процесс, поток или дескриптор рабочего стола был или будет дублироваться.
PreOperation
Указатель на подпрограмму ObjectPreCallback . Система вызывает эту подпрограмму до выполнения запрошенной операции.
PostOperation
Указатель на подпрограмму ObjectPostCallback . Система вызывает эту подпрограмму после выполнения запрошенной операции.
Комментарии
Эта структура используется подпрограммой ObRegisterCallbacks . Параметр CallBackRegistration для этой подпрограммы является указателем на буфер, содержащий структуру OB_CALLBACK_REGISTRATION , за которой следует массив из одной или нескольких OB_OPERATION_REGISTRATION структур.
В каждой OB_OPERATION_REGISTRATION структуре, передаваемой в ObRegisterCallback, вызывающий объект должен предоставить одну или обе подпрограммы обратного вызова. Если элементы PreOperation и PostOperation этой структуры имеют значение NULL, операция регистрации обратного вызова завершается ошибкой.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Server 2008. |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |