У меня есть несколько экземпляров программы. Каждое приложение использует разные файлы и записывает в них некоторую информацию. В целом он отлично работает в течение длительного периода времени, но в одном случае я обнаружил, что все экземпляры не смогли записать в свои файлы одновременно с этим кодом ошибки: ERROR_WRITE_PROTECT (0x13) . Должен отметить, что я понятия не имею, что произошло в это время на сервере, на котором выполняются программы. Вот фрагмент кода из программы:
Handle myHandle = CreateFile(fileName,
GENERIC_ALL,
FILE_SHARE_READ | FILE_SHARE_DELETE,
NULL,
CREATE_NEW,
FILE_FLAG_DELETE_ON_CLOSE,
NULL);
DWORD dwBytesWritten = 0;
unsigned char buffer[bufferSize];
// Code that fills the buffer
if (!WriteFile(myHandle, buffer, bufferSize, &dwBytesWritten, NULL))
{
// Log GetLastError() result
}
Я пытаюсь понять, почему это могло произойти, и как мне вообще это воспроизвести? Какие действия мне нужно сделать с файлом или папкой, чтобы получить код ошибки ERROR_WRITE_PROTECT (0x13)?