282{
287
288
290 {
291
293 }
294
295
302 0,
303 0,
304 (
PVOID*)&KeyedEvent);
305
306
308
309
311
312
316 0,
318 &KeyedEventHandle);
319
320
322
324 {
325
327 {
328
330 *OutHandle = KeyedEventHandle;
331 }
333 {
334
336
337
339 }
341 }
342 else
343 {
344 *OutHandle = KeyedEventHandle;
345 }
346
347
349}
_In_ PVOID _In_ ULONG _Out_ PVOID _In_ ULONG _Inout_ PULONG _In_ KPROCESSOR_MODE PreviousMode
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
LONG NTAPI ExSystemExceptionFilter(VOID)
VOID NTAPI ExpInitializeKeyedEvent(_Out_ PEX_KEYED_EVENT KeyedEvent)
#define KeGetPreviousMode()
_In_ ACCESS_MASK AccessMask
NTSTATUS NTAPI ObCloseHandle(IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define STATUS_INVALID_PARAMETER
_Must_inspect_result_ _In_ ULONG Flags