Untitled
unknown
c_cpp
5 months ago
1.1 kB
5
Indexable
string PeriodsMgr::ReadFromNamedPipe(string in_pipe, int in_configIndex) { ResetLastError(); int handle = FileOpen(in_pipe, FILE_READ | FILE_WRITE | FILE_BIN); if (handle == INVALID_HANDLE) { Print("Failed to connect to the named pipe:", GetLastError()); return ""; } // Send configIndex to the server FileWriteInteger(handle, in_configIndex, 4); FileFlush(handle); // Send right away Sleep(250); // Allow time for the server to respond // read data length int dataLength = FileReadInteger(handle, 4); if (dataLength <= 0) { Print("Invalid data length received:", dataLength); FileClose(handle); return ""; } // read the data char buffer[]; uint bytesRead = FileReadArray(handle, buffer, 0, dataLength); if (bytesRead != dataLength) { Print("Mismatch in expected and read bytes."); FileClose(handle); return ""; } // Convert buffer to string assuming ANSI encoding string configData = CharArrayToString(buffer, 0, -1, CP_ACP); FileClose(handle); return configData; }
Editor is loading...
Leave a Comment