3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: ntoskrnl/io/event.c
6 * PURPOSE: Implements named events
8 * PROGRAMMERS: David Welch (welch@mcmail.com)
11 /* INCLUDES *****************************************************************/
14 #include <internal/debug.h>
16 /* FUNCTIONS *****************************************************************/
22 IoCreateNotificationEvent(PUNICODE_STRING EventName
,
25 OBJECT_ATTRIBUTES ObjectAttributes
;
30 InitializeObjectAttributes(&ObjectAttributes
,
36 Status
= ZwCreateEvent(&Handle
,
41 if (!NT_SUCCESS(Status
))
46 ObReferenceObjectByHandle(Handle
,
52 ObDereferenceObject(Event
);
54 *EventHandle
= Handle
;
63 IoCreateSynchronizationEvent(PUNICODE_STRING EventName
,
66 OBJECT_ATTRIBUTES ObjectAttributes
;
67 KPROCESSOR_MODE PreviousMode
;
72 PreviousMode
= ExGetPreviousMode();
74 InitializeObjectAttributes(&ObjectAttributes
,
80 Status
= ZwCreateEvent(&Handle
,
86 if (!NT_SUCCESS(Status
))
91 ObReferenceObjectByHandle(Handle
,
97 ObDereferenceObject(Event
);
99 *EventHandle
= Handle
;