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


Метод IWriteEngine2::WriteSection (imapi2.h)

Записывает поток данных в текущее средство записи.

Синтаксис

HRESULT WriteSection(
  [in] IStream *data,
  [in] LONG    startingBlockAddress,
  [in] LONG    numberOfBlocks
);

Параметры

[in] data

Интерфейс IStream потока данных для записи в средство записи.

[in] startingBlockAddress

Начальный адрес логического блока (LBA) операции записи. Поддерживаются отрицательные значения.

[in] numberOfBlocks

Количество блоков из потока данных для записи.

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

S_OK возвращается при успешном выполнении, но в результате реализации могут быть возвращены другие коды успешного выполнения. Следующие коды ошибок обычно возвращаются при сбое операции, но не представляют единственные возможные значения ошибок:

Код возврата Описание
E_POINTER
Недопустимый указатель.

Значение: 0x80004003

E_OUTOFMEMORY
Не удалось выделить необходимую память.

Значение: 0x8007000E

E_INVALIDARG
Один или несколько аргументов недопустимы.

Значение: 0x80070057

E_IMAPI_REQUEST_CANCELLED
Запрос отменен.

Значение: 0xC0AA0002

Комментарии

Перед вызовом этого метода необходимо вызвать метод IWriteEngine2::p ut_Recorder , чтобы указать устройство записи, и метод IWriteEngine2::p ut_BytesPerSector , чтобы указать количество байтов, используемых для каждого сектора во время записи.

Кроме того, следует рассмотреть возможность вызова следующих методов, если их значения по умолчанию не подходят для вашего приложения:

Этот метод является синхронным. Чтобы определить ход выполнения операции записи, необходимо реализовать интерфейс DWriteEngine2Events . Примеры реализации обработчика событий в скрипте см. в разделе Мониторинг хода выполнения с помощью событий.

Требования

   
Минимальная версия клиента Windows Vista, Windows XP с пакетом обновления 2 (SP2) [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header imapi2.h

См. также раздел

DWriteEngine2Events

IWriteEngine2

IWriteEngine2::CancelWrite

IWriteEngine2::get_WriteInProgress

IWriteEngine2EventArgs::get_SectorCount

IWriteEngine2EventArgs::get_StartLba