Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 104 of file engevent.c.
{ PENG_EVENT EngEvent; NTSTATUS Status; /* Allocate memory for the event structure */ EngEvent = ExAllocatePoolWithTag(NonPagedPool, sizeof(ENG_EVENT), GDITAG_ENG_EVENT); if (!EngEvent) return NULL; /* Zero it out */ EngEvent->fFlags = 0; EngEvent->pKEvent = NULL; /* Create a handle, and have Ob fill out the pKEvent field */ Status = ObReferenceObjectByHandle(EngEvent, EVENT_ALL_ACCESS, ExEventObjectType, UserMode, &EngEvent->pKEvent, NULL); if (NT_SUCCESS(Status)) { /* Pulse the event and set that it's mapped by user */ KePulseEvent(EngEvent->pKEvent, EVENT_INCREMENT, FALSE); EngEvent->fFlags |= ENG_EVENT_USERMAPPED; } else { /* Free the allocation */ ExFreePool(EngEvent); EngEvent = NULL; } /* Support legacy interface */ if (Reserved1) *(PVOID*)Reserved1 = EngEvent; return EngEvent; }