Сведения об API получения образов
В этой документации основное внимание уделяется описанию реализации Adaptec IMAPI для Майкрософт (IMAPIv1). Таким образом, описания четырех main COM-объектов и их интерфейсов включены в этот документ. Четыре объекта main: MSDiscMasterObj, MSDiscRecorderObj, MSDiscStashObj и MSBurnEngineObj.
В системе может быть несколько объектов MSDiscMasterObj , но только одно приложение может получить доступ к регистратору одновременно. MSDiscMasterObj реализует несколько интерфейсов, как показано на следующей схеме объектов.
Приложения используют интерфейс IDiscMaster для выполнения следующих задач:
- Открыть IMAPI
- Перечисление поддерживаемых форматов (Joliet и Redbook)
- Выбор формата
- Получение списка записей
- Выбор средства записи
- Запуск ожога
Интерфейсы IJolietDiscMaster и IRedbookDiscMaster возвращаются приложению через интерфейс IDiscMaster при выборе формата. Эти интерфейсы управляют содержимым данных или звукового диска соответственно. Не ожидается, что каждое приложение понимает определенные интерфейсы формата. Приложения могут получать доступ к универсальным свойствам интерфейса IJolietDiscMaster , таким как имя тома или устаревшее имя файла.
Доступ к объектам MSDiscRecorderObj осуществляется через интерфейс IDiscRecorder. Каждое устройство CD-R или CD-RW, совместимое с IMAPI, имеет соответствующий объект MSDiscRecorderObj . Приложение использует указатели на интерфейс IDiscRecorder для этих объектов, чтобы выбрать устройство, которое будет использоваться IMAPI для записи компакт-диска. Кроме того, приложения могут получать доступ к универсальным свойствам средства записи через IDiscRecorder. Сюда входят такие свойства, как скорость записи или другие параметры записи.
Остальные объекты MSDiscStashObj и MSBurnEngineObj являются внутренними объектами, к которым обращается IMAPI. Они упоминаются здесь только для уточнения архитектуры IMAPI. MSDiscStashObj представляет (через интерфейс IDiscStash) необработанный файл размером до 800 МБ, который используется MSDiscMasterObj для создания звуковых изображений или дисков данных для записи. Тайна передается в MSBurnEngineObj (через интерфейс IMSBurnEngine ) при запросе записи от подсистемы нижнего уровня. Объект MSBurnEngineObj ожидает, что содержимое тайна будет иметь известный формат. В этом отношении MSDiscMasterObj и MSBurnEngineObj имеют контракт в отношении содержимого тайна.