3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: ntoskrnl/io/event.c
6 * PURPOSE: Implements named events
7 * PROGRAMMER: David Welch (welch@mcmail.com)
12 /* INCLUDES *****************************************************************/
15 #include <internal/debug.h>
17 /* FUNCTIONS *****************************************************************/
23 IoCreateNotificationEvent(PUNICODE_STRING EventName
,
26 OBJECT_ATTRIBUTES ObjectAttributes
;
31 InitializeObjectAttributes(&ObjectAttributes
,
37 Status
= ZwCreateEvent(&Handle
,
42 if (!NT_SUCCESS(Status
))
47 ObReferenceObjectByHandle(Handle
,
53 ObDereferenceObject(Event
);
55 *EventHandle
= Handle
;
64 IoCreateSynchronizationEvent(PUNICODE_STRING EventName
,
67 OBJECT_ATTRIBUTES ObjectAttributes
;
68 KPROCESSOR_MODE PreviousMode
;
73 PreviousMode
= ExGetPreviousMode();
75 InitializeObjectAttributes(&ObjectAttributes
,
81 Status
= ZwCreateEvent(&Handle
,
87 if (!NT_SUCCESS(Status
))
92 ObReferenceObjectByHandle(Handle
,
98 ObDereferenceObject(Event
);
100 *EventHandle
= Handle
;