Как воспроизвести ERROR_WRITE_PROTECT с помощью FileAPI? - PullRequest
1 голос
/ 26 мая 2020

У меня есть несколько экземпляров программы. Каждое приложение использует разные файлы и записывает в них некоторую информацию. В целом он отлично работает в течение длительного периода времени, но в одном случае я обнаружил, что все экземпляры не смогли записать в свои файлы одновременно с этим кодом ошибки: 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)?

1 Ответ

2 голосов
/ 27 мая 2020

Какие действия мне нужно выполнить с файлом или папкой, чтобы получить код ошибки ERROR_WRITE_PROTECT (0x13)? назад? Может показаться странным, когда на компьютере нет дискет, но должны быть эмуляторы дисковода гибких дисков, а виртуальные машины, такие как VMWare, могут эмулировать дискеты, так что это может быть возможным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...