master
h 25 lines 666 Bytes
Raw
1 /*++
2
3 Copyright (c) Microsoft. All rights reserved.
4
5 Module Name:
6
7 LxssPort.h
8
9 Abstract:
10
11 This file contains declarations for the port abstract base class.
12
13 --*/
14
15 #pragma once
16
17 class LxssPort
18 {
19 public:
20 virtual std::shared_ptr<LxssPort> CreateSessionLeader(_In_ HANDLE ClientProcess) = 0;
21 virtual void DisconnectConsole(_In_ HANDLE ClientProcess) = 0;
22 virtual wil::cs_leave_scope_exit Lock() = 0;
23 virtual void Receive(_Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length, _In_opt_ HANDLE ClientProcess = nullptr, _In_ DWORD Timeout = INFINITE) = 0;
24 virtual void Send(_In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Length) = 0;
25 };