diff --git a/common/cpp/src/system_io_windows.cpp b/common/cpp/src/system_io_windows.cpp
index f09bf0bbaec65dd293aaf87db040c9506f70adf7..37586790eb6ff04eb7f4b1f45605f5ad1f92cfff 100644
--- a/common/cpp/src/system_io_windows.cpp
+++ b/common/cpp/src/system_io_windows.cpp
@@ -5,6 +5,7 @@
 #include <algorithm>
 #include <io.h>
 #include <windows.h>
+#include <direct.h>
 
 using std::string;
 using std::vector;
@@ -82,6 +83,11 @@ std::chrono::system_clock::time_point FileTime2TimePoint(const FILETIME& ft, IOE
     return tp;
 }
 
+FileInfo hidra2::SystemIO::GetFileInfo(const std::string & path, const std::string & name, IOErrors * err) const
+{
+    return FileInfo();
+}
+
 bool IsDirectory(const WIN32_FIND_DATA f) {
     return (f.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) &&
            strstr(f.cFileName, "..") == nullptr &&
@@ -136,29 +142,73 @@ void SystemIO::CollectFileInformationRecursivly(const std::string& path,
     }
 }
 
+int hidra2::SystemIO::AddressFamilyToPosixFamily(AddressFamilies address_family) const
+{
+    return 0;
+}
+
+int hidra2::SystemIO::SocketTypeToPosixType(SocketTypes socket_type) const
+{
+    return 0;
+}
+
+int hidra2::SystemIO::SocketProtocolToPosixProtocol(SocketProtocols socket_protocol) const
+{
+    return 0;
+}
+
+void hidra2::SystemIO::InetBind(FileDescriptor socket_fd, const std::string & address, uint16_t port, IOErrors * err) const
+{
+
+}
+
+std::unique_ptr<std::tuple<std::string, FileDescriptor>> SystemIO::InetAccept(FileDescriptor socket_fd, IOErrors * err) const
+{
+    return std::unique_ptr<std::tuple<std::string, FileDescriptor>>();
+}
+
+void hidra2::SystemIO::InetConnect(FileDescriptor socket_fd, const std::string & address, IOErrors * err) const
+{
+
+}
+
+size_t hidra2::SystemIO::ReceiveTimeout(FileDescriptor socket_fd, void * buf, size_t length, uint16_t timeout_in_sec, IOErrors * err) const
+{
+    return size_t();
+}
+
+FileDescriptor hidra2::SystemIO::_open(const char * filename, int posix_open_flags) const
+{
+    int fd;
+    errno = _sopen_s(&fd, filename, posix_open_flags, _SH_DENYNO, _S_IREAD | _S_IWRITE);
+    return fd;
+}
 
 void SystemIO::_close(hidra2::FileDescriptor fd) const {
-    ::close(fd);
+    ::_close(fd);
 }
 
 ssize_t SystemIO::_read(hidra2::FileDescriptor fd, void* buffer, size_t length) const {
-    return ::read(fd, buffer, length);
+    return ::_read(fd, buffer, length);
 }
 
 ssize_t SystemIO::_write(hidra2::FileDescriptor fd, const void* buffer, size_t length) const {
-    return ::write(fd, buffer, length);
+    return ::_write(fd, buffer, length);
 }
 
 FileDescriptor SystemIO::_socket(int address_family, int socket_type, int socket_protocol) const {
-    return ::socket(address_family, socket_type, socket_protocol);
+    //return ::socket(address_family, socket_type, socket_protocol);
+    return 0;
 }
 
 ssize_t SystemIO::_send(FileDescriptor socket_fd, const void* buffer, size_t length) const {
-    return ::send(socket_fd, buffer, length, 0);
+    //return ::send(socket_fd, (char*)buffer, length, 0);
+    return 0;
 }
 
 ssize_t SystemIO::_recv(FileDescriptor socket_fd, void* buffer, size_t length) const {
-    return ::recv(socket_fd, buffer, length, 0);
+    //return ::recv(socket_fd, (char*)buffer, length, 0);
+    return 0;
 }
 
 int SystemIO::_mkdir(const char* dirname) const {
@@ -166,7 +216,8 @@ int SystemIO::_mkdir(const char* dirname) const {
 }
 
 int SystemIO::_listen(FileDescriptor fd, int backlog) const {
-    return ::listen(fd, backlog);
+    //return ::listen(fd, backlog);
+    return 0;
 }