Метод IStreamAsync::ReadAsync (shobjidl.h)
Считывает сведения из потока асинхронно. Например, оболочка реализует этот интерфейс для файловых элементов при их асинхронной передаче.
Синтаксис
HRESULT ReadAsync(
[out] void *pv,
[in] DWORD cb,
[out, optional] LPDWORD pcbRead,
[in] LPOVERLAPPED lpOverlapped
);
Параметры
[out] pv
Тип: void*
При успешном выполнении этого метода возвращает буфер длиной в кб и содержащий байты pcbRead информации из операции чтения.
[in] cb
Тип: DWORD
Число байтов, считываемых из потока.
[out, optional] pcbRead
Тип: LPDWORD
Указатель на значение DWORD , которое при успешном возврате этого метода указывает фактическое число байтов, считанных в буфер, на который указывает pv. Это значение может иметь значение NULL.
[in] lpOverlapped
Тип: LPOVERLAPPED
Указатель на структуру OVERLAPPED , содержащую сведения, используемые в асинхронной операции чтения.
Возвращаемое значение
Тип: HRESULT
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
IStreamAsync::ReadAsync должен сбросить событие, заданное элементом hEvent структуры OVERLAPPED , в состояние без знака, когда начинается операция ввода-вывода.
Этот метод реализован в оболочке как тонкая оболочка для общедоступного API ReadFile .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | shobjidl.h |