/*++ Copyright (c) Microsoft Corporation Licensed under the MIT license. Module Name: - DeviceHandle.h Abstract: - This module helps create client and server handles for interprocess communication via the driver. Author: - Michael Niksa (MiNiksa) 14-Sept-2016 Revision History: --*/ #pragma once namespace DeviceHandle { [[nodiscard]] NTSTATUS CreateServerHandle( _Out_ PHANDLE Handle, _In_ BOOLEAN Inheritable); [[nodiscard]] NTSTATUS CreateClientHandle( _Out_ PHANDLE Handle, _In_ HANDLE ServerHandle, _In_ PCWSTR Name, _In_ BOOLEAN Inheritable); [[nodiscard]] NTSTATUS _CreateHandle( _Out_ PHANDLE Handle, _In_ PCWSTR DeviceName, _In_ ACCESS_MASK DesiredAccess, _In_opt_ HANDLE Parent, _In_ BOOLEAN Inheritable, _In_ ULONG OpenOptions); };