Функция FileIOCompletionRoutine


Функция FileIOCompletionRoutine - определяемая программой функция обратного вызова, используемая с функциями ReadFileEx и WriteFileEx. Она вызывается тогда, когда операция асинхронного ввода и вывода данных завершается или отменяется, а вызывающий поток находится в состоянии готовности (использующий функцию SleepEx, MsgWaitForMultipleObjectsEx, WaitForSingleObjectEx или  WaitForMultipleObjectsEx с параметром fAlertable, установленным в ИСТИНУ (TRUE).

Тип LPOVERLAPPED_COMPLETION_ROUTINE определяет указатель на эту функцию обратного вызова. FileIOCompletionRoutine - символ-заместитель для определяемого программой  названия функции.

Синтаксис
VOID CALLBACK FileIOCompletionRoutine(
  DWORD dwErrorCode,                // код завершения
  DWORD dwNumberOfBytesTransfered,  // передаваемое число байтов
  LPOVERLAPPED lpOverlapped         // буфер информации I/O
);

Параметры

dwErrorCode

[in] Состояние завершения ввода - вывода. Этим параметром может быть один из кодов системных ошибок .

dwNumberOfBytesTransfered

[in] Переданное число байтов. Если происходит ошибка, этот параметр равняется нулю.

lpOverlapped

[in] Указатель на структуру OVERLAPPED, указанную асинхронной функцией ввода - вывода.

Система не использует член hEvent  структуры OVERLAPPED; вызывающая программа  может использовать этот член структуры, чтобы передать информацию в процедуру завершения. Система не использует структуру OVERLAPPED после того, как процедура завершения вызвана, так что процедура завершения может освободить память, используемую асинхронной структурой.

Возвращаемые значения

Эта функция не возвращает значений.

Замечания

Функция FileIOCompletionRoutine - это символ - заместитель для определяемого программой или определяемого библиотекой имени функции.

Возвращение из этой функции дает возможность быть вызванной другой ждущей обработки процедуре завершения ввода - вывода. Все ждущие процедуры завершения вызываются до того, как ожидание приведенного в готовность потока, завершается кодом возврата WAIT_IO_COMPLETION. Система может вызывать ожидающие процедуры завершения  в любом порядке. Они могут или не могут быть  вызваны в порядке завершения работы функций ввода - вывода .

Каждый раз, когда система вызывает процедуру завершения, она использует часть стека прикладной программы. Если процедура завершения делает дополнительный асинхронный ввод - вывод и в в состоянии готовности ждет, стек может расти.

Для получения дополнительной информации, см. Вызовы асинхронных  процедур.

Смотри также 

Обзор Управление файламиФункции, для файлового ввода-вывода (I/O), OVERLAPPED, ReadFileEx, SleepEx, WaitForMultipleObjectsEx, WaitForSingleObjectEx, WriteFileEx

Размещение и совместимость FileIOCompletionRoutine

К

Windows XP

Да 

л

Windows 2000 Professional

Да

и

Windows NT Workstation

Да

е

Windows Me

Да

н

Windows 98

Да

т

Windows 95

Нет

 
С

Windows Server 2003

Да

е Windows 2000 Server Да
р Windows NT Server Да
в    
е    
р    

Используемая библиотека

-

Используемая DLL -
Заголовочный файл  

- объявлено в

Winbase.h

 - включено в

Windows.h

 Unicode

Нет

 Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz