Add afd endpoint device

First step towards networking support #15
This commit is contained in:
momo5502
2024-11-06 20:37:23 +01:00
parent e80b3e588c
commit 8e67dfcb66
3 changed files with 31 additions and 2 deletions

View File

@@ -0,0 +1,20 @@
#include "afd_endpoint.hpp"
#include "windows-emulator/windows_emulator.hpp"
namespace
{
struct afd_endpoint : stateless_device
{
NTSTATUS io_control(const io_device_context& c) override
{
c.win_emu.logger.print(color::cyan, "AFD IOCTL: %X\n", c.io_control_code);
return STATUS_SUCCESS;
}
};
}
std::unique_ptr<io_device> create_afd_endpoint()
{
return std::make_unique<afd_endpoint>();
}

View File

@@ -0,0 +1,4 @@
#pragma once
#include "../io_device.hpp"
std::unique_ptr<io_device> create_afd_endpoint();

View File

@@ -1,4 +1,5 @@
#include "io_device.hpp"
#include "devices/afd_endpoint.hpp"
namespace
{
@@ -16,11 +17,15 @@ std::unique_ptr<io_device> create_device(const std::wstring_view device)
if (device == L"CNG"
|| device == L"KsecDD"
|| device == L"DeviceApi\\CMApi"
|| device == L"ConDrv\\Server"
|| device == L"Afd\\Endpoint")
|| device == L"ConDrv\\Server")
{
return std::make_unique<dummy_device>();
}
if (device == L"Afd\\Endpoint")
{
return create_afd_endpoint();
}
throw std::runtime_error("Unsupported device: " + std::string(device.begin(), device.end()));
}