#include "pipe.h" #include "common.h" #include global::Pipe::Pipe( LPTSTR PipeName ) { this->pipe_name = PipeName; this->pipe_handle = CreateFile( this->pipe_name, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL ); if ( this->pipe_handle == INVALID_HANDLE_VALUE ) { LOG_ERROR( "CreateFile failed with status 0x%x", GetLastError() ); return; } } void global::Pipe::WriteToPipe( PVOID Buffer, SIZE_T Size ) { DWORD bytes_written; WriteFile( this->pipe_handle, Buffer, Size, &bytes_written, NULL ); if ( bytes_written == 0 ) { LOG_ERROR( "WriteFile failed with status code 0x%x", GetLastError() ); return; } } void global::Pipe::ReadPipe( PVOID Buffer, SIZE_T Size ) { BOOL status = FALSE; DWORD bytes_read; status = ReadFile( this->pipe_handle, Buffer, Size, &bytes_read, NULL ); if ( status == NULL ) { LOG_ERROR( "ReadFile failed with status code 0x%x", GetLastError() ); return; } }