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


Метод IStreamAsync::WriteAsync (shobjidl.h)

Записывает сведения в поток асинхронно. Например, оболочка реализует этот метод для файловых элементов при их асинхронной передаче.

Синтаксис

HRESULT WriteAsync(
  [in]  const void   *lpBuffer,
  [in]  DWORD        cb,
  [out] LPDWORD      pcbWritten,
  [in]  LPOVERLAPPED lpOverlapped
);

Параметры

[in] lpBuffer

Тип: const void*

Указатель на буфер размером cb байт, который содержит сведения, записываемые в поток.

[in] cb

Тип: DWORD

Размер буфера, на который указывает lpBuffer, в байтах.

[out] pcbWritten

Тип: LPDWORD

Указатель на значение DWORD , которое при успешном возврате метода указывает фактическое число байтов, записанных в поток. Это значение может иметь значение NULL , если эти сведения не требуются.

[in] lpOverlapped

Тип: LPOVERLAPPED

Указатель на структуру OVERLAPPED , содержащую сведения, используемые в асинхронной операции записи.

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

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Функция WriteAsync должна сбросить событие, заданное элементом hEvent структуры OVERLAPPED , в состояние без знака, когда начинается операция ввода-вывода.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header shobjidl.h