Вероятно, было бы лучше, если бы вы показали точный код, который вы используете, включая всю проверку ошибок, и то, как вы это делаете, важно (особенно в случае этого вопроса) ...
Правильная проверка ошибок для вашего кода должна быть чем-то вроде ...
file = CreateFile(_T("hey.txt"), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, 0);
if (file == INVALID_HANDLE_VALUE)
{
const DWORD error = GetLastError();
// Do something!
}
else
{
if (!WriteFile(file, buff, sizeof(buff), &dwRet, NULL))
{
const DWORD error = GetLastError();
// Do something!
}
}
Вы должны проверять ошибку только в том случае, если вы получите возвращаемое значение INVALID_FILE_HANDLE
, так как CreateFile()
может не сбрасыватьсяпоследняя ошибка перед ее запуском, и поэтому вы можете получить ложные значения ошибок из GetLastError()
, если функция завершится успешно ...
Последняя ошибка 6, ERROR_INVALID_HANDLE
, необычна из CreateFile()
, если только вы не 'Вы используете параметр файла шаблона, который вам не нужен ...
Ваш код, использующий CreateFileW
и _T (""), неверен и не будет компилироваться в сборке, не поддерживающей Юникод.Лучше использовать CreateFile
и _T ("") или CreateFileW
и L "".
Ваш код не создаст скрытый файл, см. Ответ molbdnilo.