Результат ReadFile?

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Результат ReadFile?

Look better with well-known health and beauty products at our blog

ThomasSpact » 21 сен 2017, 14:36

aOur site offers a wide variety of non prescription drugs. Look at our health site in case you want to feel better. http://5a.buycytoteconline.us/cytotec-5 ... 63216.html Our company provides herbal healthcare products. Visit our health contributing website in case you want to look better. http://6nz.buycytoteconline.us/cytotec- ... 55505.html Our company offers a wide variety of non prescription drugs. Look at our health portal in case you want to feel better with a help generic supplements. http://3y.buycytoteconline.us/cytotec-2 ... 46334.html Our company provides a wide variety of health and related products. Take a look at our health contributing site in case you want to look healthier. http://d2l.buycytoteconline.us/cytotec- ... 55066.html Our company provides healthcare products. Look at our health contributing website in case you want to look healthier. http://1x7v.buycytoteconline.us/cytotec ... 55606.html Our company offers a wide variety of non prescription drugs. Visit our health portal in case you want to look healthier with a help generic supplements. http://16gu.buycytoteconline.us/cytotec ... 16930.html
Our company offers a wide variety of non prescription drugs. Visit our health site in case you want to look better with a help generic supplements. http://2i.buycytoteconline.us/cytotec-5 ... 43743.html Our company provides a wide variety of non prescription products. Take a look at our health site in case you want to strengthen your health with a help generic supplements. http://lc3.buycytoteconline.us/cytotec- ... 78972.html Our company offers herbal pills. Visit our health contributing website in case you want to feel healthier. http://lc3.buycytoteconline.us/cytotec- ... 58166.html Our company offers safe general health products. Look at our health contributing portal in case you want to look healthier. http://51hk.buycytoteconline.us/cytotec ... 45222.html Our company provides a wide variety of non prescription products. Look at our health portal in case you want to look better.

Знакомства в Новосибирске

SvetSenDS » 20 авг 2017, 16:12

Re: Результат ReadFile?

Сионист » 21 окт 2015, 14:06

Причина нафиг не нужна, нужен факт. И у меня же там написан nullptr.

Re: Результат ReadFile?

somewhere » 21 окт 2015, 11:27

Понимается ли под ошибкой сам факт несовпадения количества фактически прочитанных байтов от значения третьего параметра не зависимо от причины?
Там же написано, что если файл был открыт с флажком FILE_FLAG_OVERLAPPED, и lpOverlapped имеет значение не ПУСТО (NULL) - то в этом случае будет ошибка, т.к. несовпадение прочитанных байт и затребованных байт говорит о том, что достигнут конец файла (либо достигнут участок блокировки)
Лично я бы не ориентировался на результат функции, а проверял бы сколько байт прочитано, т.к. мне лично все равно что там происходит - лишь бы я получил те байтики, которые просил. Ну а если бы не получил - тогда уже проверял бы в чем причина

Результат ReadFile?

Сионист » 21 окт 2015, 11:16

Код: Выделить всё


Функция ReadFile возвращает значение тогда, когда выполнено одно из ниже перечисленных  условий: 

    - операция записи завершается на записывающем конце канала, 
    - затребованное число байтов прочитано, 
    - или происходит ошибка.

Если функция завершается успешно, величина возвращаемого значения - не ноль.

Если функция завершается с ошибкой, величина возвращаемого значения - ноль. Чтобы получить дополнительные сведения об ошибке, вызовите GetLastError.

Если величина возвращаемого значения - не ноль, а число прочитанных байтов равняется нулю, указатель файла был за пределами текущего конца файла на момент операции чтения. Однако, если файл был открыт с флажком FILE_FLAG_OVERLAPPED, и lpOverlapped имеет  значение не ПУСТО (NULL), величина возвращаемого значения - ноль, а GetLastError возвращает ошибку ERROR_HANDLE_EOF, когда указатель файла проходит вне текущего конца файла.
Значит ли это, что можно заменить

Код: Выделить всё

ReadFile(File, Data, sizeof(Data), &Readed, nullptr);
if (Readed!=sizeof(Data))
{
 ...
}
на

Код: Выделить всё

if (ReadFile(File, Data, sizeof(Data), nullptr, nullptr)==0)
{
 ...
}
? Понимается ли под ошибкой сам факт несовпадения количества фактически прочитанных байтов от значения третьего параметра не зависимо от причины? При чём здесь какой то записывающий конец и что подразумевается под ним?

Вернуться к началу