IoCreateNotificationEvent
KEVENT *__stdcall IoCreateNotificationEvent(UNICODE_STRING *EventName, PVOID *EventHandle){
NTSTATUS v3;
KEVENT *v4;
KEVENT *result;
struct _OBJECT_ATTRIBUTES ObjectAttributes;
void *EventHandlea;
PVOID Object;
*(&ObjectAttributes.Length + 1) = 0;
memset(&ObjectAttributes.Attributes + 1, 0, 20);
EventHandlea = 0i64;
ObjectAttributes.RootDirectory = 0i64;
ObjectAttributes.ObjectName = EventName;
ObjectAttributes.Length = 48;
ObjectAttributes.Attributes = 640;
if( ZwCreateEvent(&EventHandlea, 0x1F0003ui64, &ObjectAttributes, NotificationEvent, 1u) < 0 )
return 0i64;
Object = 0i64;
v3 = ObReferenceObjectByHandle(EventHandlea, 0, (POBJECT_TYPE)ExEventObjectType, 0, &Object, 0i64);
v4 = (KEVENT *)Object;
if( v3 < 0 )
v4 = 0i64;
else
HalPutDmaAdapter((PADAPTER_OBJECT)Object);
result = v4;
*EventHandle = EventHandlea;
return result;
}Referenced by:
IoCaptureLiveDump