Здравствуйте, уважаемые подписчики. Перед вами очередной выпуск рассылки "WinAPI
на русском".
Сайт рассылки: http://www.winnt.rsm.org.ru. Материалы по Win32 API, C++Builder.
Раздел "WinAPI": http://www.winnt.rsm.org.ru/winapi/winapi.htm
Раздел "C++Builder": http://www.winnt.rsm.org.ru/cbuilder/cbuilder.htm
Раздел "Советы & примеры": http://www.winnt.rsm.org.ru/tipstricks/tipstricks.htm
Обновления на сайте
нет
Перевод
Сегодня вашему вниманию представлен перевод структуры OVERLAPPED.
OVERLAPPED
Структура OVERLAPPED содержит информацию, используемую в асинхронном вводе/выводе
(I/O).
typedef struct _OVERLAPPED
DWORD Internal;
DWORD InternalHigh;
DWORD Offset;
DWORD OffsetHigh;
HANDLE hEvent;
} OVERLAPPED;
Члены
Internal – зарезервирован для использования операционной системой. Этот член,
который определяет системно-зависимый статус, имеет смысл, когда функция GetOverlappedResult
завершается без установки расширенной информации об ошибке в ERROR_IO_PENDING.
InternalHigh – зарезервирован для использования операционной системой. Этот член,
значение которого определяет длину переданных данных, имеет смысл, когда функция
GetOverlappedResult возвращает TRUE.
Offset – определяет позицию в файле, с которой надо начинать передачу. Позиция
в файле – смещение в байтах от начала файла. Вызывающий процесс устанавливает
значение этого члена перед вызовом функций ReadFile или WriteFile. Значение члена
игнорируется, при чтении из или записи в именованные каналы и устройства связи.
OffsetHigh – определяет старшее слово смещения, с которого надо начинать передачу.
Значение члена игнорируется, при чтении из или записи в именованные каналы и
устройства связи.
hEvent – идентифицирует событие, устанавливаемое в сигнальное состояние при завершении
передачи. Вызывающий процесс устанавливает значение этого члена перед вызовом
функций ReadFile, WriteFile, ConnectNamedPipe или TransactNamedPipe function.
Комментарии
Вы можете использовать макрос HasOverlappedIoCompleted чтобы определить, завершилась
ли асинхронная операция ввода/вывода. Вы можете использовать функцию CancelIo
для прерывания асинхронной операции ввода/вывода.
См. также
CancelIo, ConnectNamedPipe, CreateFile, GetOverlappedResult, HasOverlappedIoCompleted,
ReadFile, ReadFileEx, TransactNamedPipe, WriteFile, WriteFileEx.
хелп по WinAPI в виде hlp-файла: http://www.winnt.rsm.org.ru/winapi/winapi_rus_hlp.zip
хелп по WinAPI в виде chm-файла: http://www.winnt.rsm.org.ru/winapi/winapi_rus_chm.zip
С уважением,
ведущий рассылки
Тарас Сорока.
mailto:tnsoroka@online.ru