PRB: ERROR_INVALID_PARAMETER WriteFile() или ReadFile()

Применимо к: Windows

Проблемы


Вызов функции WriteFile() или ReadFile() может произойти сбой с ошибкой
ERROR_INVALID_PARAMETER
При работе с именованного канала и с помощью перекрывающегося ввода/вывода.

Причина


Возможной причиной ошибки является смещение и OffsetHigh члены структуры OVERLAPPED не устанавливаются в ноль.

Решение


Смещение и OffsetHigh члены структуры OVERLAPPED равен нулю.

Статус


Данное поведение является особенностью. Справка для WriteFile() и ReadFile() состояние, смещение и OffsetHigh члены структуры OVERLAPPED должно иметь значение 0 или функции не удастся.

Дополнительная информация


Во многих случаях вызовы функций могут выполняться, если явно не задано OVERLAPPED. Смещение и OVERLAPPED. OffsetHigh к нулю. Тем не менее, обычно это либо поскольку структуры OVERLAPPED статическая или глобальная и таким образом устанавливается равным нулю или структуры OVERLAPPED Авто (локальный компьютер) и содержимое этого расположения в стеке уже равны нулю. Необходимо явно указать OVERLAPPED. Смещение и OVERLAPPED. Члены структуры OffsetHigh к нулю.