| 220 | } |
| 221 | |
| 222 | HANDLE EngineProcess::createFile(const QString& fileName, OpenMode mode) |
| 223 | { |
| 224 | if (fileName.isEmpty()) |
| 225 | return NULL; |
| 226 | |
| 227 | SECURITY_ATTRIBUTES sa; |
| 228 | sa.nLength = sizeof(sa); |
| 229 | sa.lpSecurityDescriptor = NULL; |
| 230 | sa.bInheritHandle = TRUE; |
| 231 | |
| 232 | DWORD dwMode = GENERIC_WRITE; |
| 233 | if (mode == Append) |
| 234 | dwMode = FILE_APPEND_DATA; |
| 235 | |
| 236 | return CreateFileW((LPCWSTR)fileName.utf16(), |
| 237 | dwMode, |
| 238 | FILE_SHARE_READ | FILE_SHARE_WRITE, |
| 239 | &sa, |
| 240 | OPEN_ALWAYS, |
| 241 | FILE_ATTRIBUTE_NORMAL, |
| 242 | NULL); |
| 243 | } |
| 244 | |
| 245 | void EngineProcess::start(const QString& program, |
| 246 | const QStringList& arguments, |