Поделиться через


Метод 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