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


Интерфейс IWriteEngine2 (imapi2.h)

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

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

  1. Подготовка оборудования путем установки страниц режима для носителя.
  2. Запрос оборудования, чтобы убедиться, что носитель достаточно большой.
  3. Инициализация записи, например путем форматирования носителя или настройки OPC.
  4. Выполнение фактических команд WRITE.
  5. Завершение записи путем остановки форматирования или закрытия сеанса или дорожки.
При разработке поддержки новых типов мультимедиа можно реализовать шаги 1, 2, 3 и 5 и использовать этот интерфейс для выполнения шага 4. Обратите внимание, что все интерфейсы IDiscFormat2* используют этот интерфейс для выполнения операции записи.

Большинство клиентских приложений должны использовать интерфейс IDiscFormat2Data для записи изображений на устройство.

Чтобы создать экземпляр этого интерфейса, вызовите функцию CoCreateInstance . Use__uuidof(MsftWriteEngine2) для идентификатора класса и __uuidof(IWriteEngine2) для идентификатора интерфейса.

Наследование

Интерфейс IWriteEngine2 наследуется от интерфейса IDispatch . IWriteEngine2 также имеет следующие типы элементов:

Методы

Интерфейс IWriteEngine2 содержит следующие методы.

 
IWriteEngine2::CancelWrite

Отменяет выполняемую операцию записи.
IWriteEngine2::get_BytesPerSector

Извлекает количество байтов, используемых для каждого сектора во время записи. Возвращаемое значение указывает, какое значение ранее было задано с помощью IWriteEngine2::p ut_BytesPerSector, и не возвращает текущее значение байтов на сектор для носителя.
IWriteEngine2::get_EndingSectorsPerSecond

Извлекает предполагаемое количество секторов в секунду, которое записывающее устройство может записывать на носитель в конце процесса записи.
IWriteEngine2::get_Recorder

Извлекает записывающее устройство для использования в операции записи.
IWriteEngine2::get_StartingSectorsPerSecond

Извлекает предполагаемое количество секторов в секунду, которое записывающее устройство может записывать на носитель в начале процесса записи.
IWriteEngine2::get_UseStreamingWrite12

Извлекает значение, указывающее, используют ли операции записи команду WRITE12 или WRITE10.
IWriteEngine2::get_WriteInProgress

Извлекает значение, указывающее, записывает ли средство записи данные на диск в данный момент.
IWriteEngine2::p ut_BytesPerSector

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

Задает предполагаемое количество секторов в секунду, которое записывающее устройство может записывать на носитель в конце процесса записи.
IWriteEngine2::p ut_Recorder

Задает записывающее устройство для операции записи.
IWriteEngine2::p ut_StartingSectorsPerSecond

Задает предполагаемое количество секторов в секунду, которое записывающее устройство может записывать на носитель в начале процесса записи.
IWriteEngine2::p ut_UseStreamingWrite12

Задает значение, указывающее, используют ли операции записи команду WRITE12 или WRITE10.
IWriteEngine2::WriteSection

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

Комментарии

Чтобы создать объект MsftWriteEngine2 в скрипте, используйте IMAPI2. MsftWriteEngine2 в качестве идентификатора программы при вызове CreateObject.

Переход состояния питания может произойти во время операции записи (т. е. выхода пользователя или приостановки системы), что приводит к прерыванию процесса записи и возможной потере данных. Рекомендации по программированию см. в разделе Предотвращение выхода из системы или приостановки во время записи.

Требования

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

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

DWriteEngine2Events

IDiscFormat2

IDiscFormat2Data

IDiscFormat2Erase

IDiscFormat2RawCD

IDiscFormat2TrackAtOnce

IWriteEngine2EventArgs