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


Оптический тест логотипа — DVD-RAM

Этот тест проверяет, соответствует ли оптическое устройство стандартам и соответствует требованиям оптического диска Windows.

Сведения о тесте

   
Спецификации
  • Устройства. служба хранилища. Optical.CdRawRecording
  • Устройства. служба хранилища. Optical.CommandPerformance
  • Устройства. служба хранилища. Optical.DriveDefinition
  • Устройства. служба хранилища. Optical.Features
  • Устройства. служба хранилища. Optical.Profiles
  • Устройства. служба хранилища. Optical.RealTimeStreaming
  • Устройства. служба хранилища. Optical.MmcVersion
  • Устройства. служба хранилища. Оптическое.Sata.АсинхронноеNotification
Платформы
  • Windows 10, клиентские выпуски (x86)
  • Windows 10, клиентские выпуски (x64)
  • Windows Server 2016 (x64)
Поддерживаемые выпуски
  • Windows 10
  • Windows 10 версии 1511
  • Windows 10, версия 1607
  • Windows 10 версии 1703
  • Windows 10 версии 1709
  • Windows 10 версии 1803
  • Windows 10, версия 1809
  • Windows 10 версии 1903
  • Следующее обновление до Windows 10
Ожидаемое время выполнения (в минутах) 210
Категория Сценарий
Время ожидания (в минутах) 12600
Требуется перезагрузка false
Требуется специальная конфигурация false
Тип automatic

 

Дополнительная документация

Тесты в этой области функций могут содержать дополнительную документацию, включая предварительные требования, настройку и устранение неполадок, которые можно найти в следующих разделах:

Выполнение теста

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

В тесте показано диалоговое окно конфигурации, чтобы получить конфигурацию основного и дополнительного дискового области. Пользователь должен выбрать идентичный вторичный диск из списка дисков в диалоговом окне "Диск записи" и выбрать возможности области диска, поддерживает ли она автоматическую извлечение и автоматическую загрузку области.

Примечание.

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

 

Устранение неполадок

Общие сведения об устранении неполадок тестов HLK см. в разделе "Устранение неполадок тестов Windows HLK".

Сведения об устранении неполадок см. в разделе "Устранение неполадок Device.служба хранилища Тестирование.

Ниже перечислены известные проблемы, связанные с этим тестом:

  • Сценарий тестирования сброса шины отключен по умолчанию.

    По умолчанию тест не проверяет правильное поведение устройства при сбросе шины.

    Если сброс шины происходит, диск, как ожидается, сбросит себя должным образом, вернуться в интернет и должен работать как обычный. Некоторые дефектные диски не сбрасывают себя должным образом и не будут работать после сброса шины. Это не правильная реализация. Если этот конкретный сценарий тестирования включен, тестовые случаи проверки команд (как устройства, так и тестовые случаи профиля) отправляют команды с неправильным флагом направления данных SRB. Обычно это приведет к остановке автобуса и в конечном итоге приведет к сбросу автобуса после заданного периода ожидания.

    Большинство контроллеров хранилища не поддерживают этот сценарий тестирования должным образом. Неправильно реализованные контроллеры хранилища не будут восстанавливаться после сброса шины. В этом случае тестовый случай может завершиться ошибкой из-за контроллера хранилища, даже если устройство было правильно реализовано. Этот тест не может различать сбои устройств от сбоев контроллера хранилища. Поэтому тестирование этого конкретного сценария по умолчанию отключено. Чтобы включить тестирование этого конкретного сценария, необходимо запустить тестовый исполняемый файл с параметром командной строки RunDataDirectionFlagScenario.

Дополнительные сведения

Диск должен поддерживать следующие команды:

  • Получение конфигурации (без носителя)

  • Получение уведомления о состоянии события

  • Запрос

  • Состояние механизма

  • Смысл режима

  • Запретить удаление среднего уровня

  • Чувство запроса

  • Начальная единица остановки

  • Тестовый модуль готов

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

  • Получение конфигурации (с носителем)

  • Получение производительности

  • Емкость буфера чтения

  • Емкость чтения

  • Чтение сведений о диске

  • Чтение емкостей форматирования

  • Чтение Toc Pma Atip

  • Отправка сведений о opc

  • Настройка скорости cd

  • Чтение10

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

  • Уведомление о состоянии события

  • Запись

    • Последовательный режим

    • Режим пакета

    • Ограниченная перезапись

    • Поддержка нескольких сеансов

  • Звуковой носитель (запись звуковых треков)

  • Чистого листа

  • Уникальный серийный номер диска

  • Потоковая передача в режиме реального времени

  • Необработанная запись без пробелов в аудиомедийном носителе

Тестовые случаи разделены на следующие три группы:

  • Тестовые случаи устройства. Ниже приведены тестовые случаи проверки подлинности, применимые для устройства:

    • GET CONFIGURATION (WITH NO MEDIA)

    • ПОЛУЧЕНИЕ УВЕДОМЛЕНИЯ О СОСТОЯНИИ СОБЫТИЯ

    • ЗАПРОС

    • СОСТОЯНИЕ МЕХАНИЗМА

    • MODE SENSE

    • ЗАПРЕТИТЬ УДАЛЕНИЕ СРЕДНИХ СРЕД

    • REQUEST SENSE

    • НАЧАЛЬНАЯ ЕДИНИЦА ОСТАНОВКИ

    • ТЕСТОВЫЙ МОДУЛЬ ГОТОВ

  • Тестовые случаи профиля. Следующие тестовые случаи проверки команд будут проверены во всех применимых профилях:

    • GET CONFIGURATION

    • ПОЛУЧЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ

    • ЕМКОСТЬ ЧТЕНИЯ

    • ЕМКОСТЬ БУФЕРА ЧТЕНИЯ

    • ЧТЕНИЕ СВЕДЕНИЙ О ДИСКЕ

    • ЕМКОСТИ ФОРМАТА ЧТЕНИЯ

    • READ TOC PMA ATIP

    • ОТПРАВКА СВЕДЕНИЙ OPC

    • НАСТРОЙКА СКОРОСТИ CD

    • READ10

  • Тестовые варианты сценария использования. Следующие сценарии тестируются с помощью интерфейсов подсистемы сжигания IMAPI:

    • УВЕДОМЛЕНИЕ О СОСТОЯНИИ СОБЫТИЯ

    • ПУСТО

    • WRITE/MULTISESSION

    • АУДИОМЕДИЙАТОР

    • ЗАПИСЬ МУЛЬТИМЕДИА С ДВУМЯ СЛОЯМИ

    • ДИСК SERIAL NU МБ ER

    • ТОЛЬКО ДИСК ДЛЯ ЧТЕНИЯ

    • ПОТОКОВАЯ ПЕРЕДАЧА В РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ

    • ЗВУКОВАЯ ЗАПИСЬ БЕЗ ПРОБЕЛОВ В ВИДЕ НЕОБРАБОТАННЫХ ЗАПИСЕЙ

Этот тест включает следующие тестовые случаи:

  • КОМАНДА GET CONFIGURATION (БЕЗ НОСИТЕЛЯ)

  • КОМАНДА ПОЛУЧЕНИЯ УВЕДОМЛЕНИЯ О СОСТОЯНИИ СОБЫТИЯ

  • КОМАНДА ЗАПРОСА

  • КОМАНДА СОСТОЯНИЯ МЕХАНИЗМА

  • КОМАНДА MODE SENSE

  • ЗАПРЕТИТЬ УДАЛЕНИЕ СРЕДНЕГО НОСИТЕЛЯ

  • КОМАНДА REQUEST SENSE

  • КОМАНДЫ START STOP UNIT, EJECT И LOAD PERFORMANCE

  • КОМАНДА TEST UNIT READY

  • КОМАНДА GET CONFIGURATION

  • ПОЛУЧЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ

  • КОМАНДА ЧТЕНИЯ ЕМКОСТИ

  • КОМАНДА ЧТЕНИЯ ЕМКОСТИ БУФЕРА

  • КОМАНДА READ DISC INFORMATION

  • КОМАНДА "ФОРМАТ ЕМКОСТИ ДЛЯ ЧТЕНИЯ"

  • КОМАНДА READ TOC/PMA/ATIP

  • КОМАНДА SEND OPC INFORMATION

  • НАСТРОЙКА КОМАНДЫ CD SPEED

  • КОМАНДА READ10

  • EVENT NOTIFICATION

  • НАПИСАНИЕ ТЕСТОВ

  • АУДИОМЕДИЙНЫЕ НОСИТЕЛИ (ЗАПИСЬ ЗВУКОВЫХ ТРЕКОВ)

  • ПУСТО

  • ЗАПИСЬ МУЛЬТИМЕДИА С ДВУМЯ СЛОЯМИ

  • ТОЛЬКО ДИСК ДЛЯ ЧТЕНИЯ

  • ДИСК SERIAL NU МБ ER

  • ПОТОКОВАЯ ПЕРЕДАЧА В РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ

  • ИЗМЕРЕНИЕ СКОРОСТИ ЗАПИСИ

  • ЗВУКОВАЯ ЗАПИСЬ БЕЗ ПРОБЕЛОВ В ВИДЕ НЕОБРАБОТАННЫХ ЗАПИСЕЙ

Команда GET CONFIGURATION (без носителя)

Описание. Этот тест предназначен для правильного реагирования диска на команду GET CONFIGURATION, если в области нет носителя.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Извлеките область, отправив команду START STOP UNIT.

  2. Дождитесь открытия области.

  3. Отправьте команду GET CONFIGURATION с длиной данных ответа размером 4 байта, чтобы получить длину данных заголовка компонента. Если команда завершается ошибкой, распечатайте ключ смысла и завершите тестовый случай. Назначение: разрешить программному обеспечению проверять поддержку команды.

  4. Проверьте, сообщает ли диск текущий профиль в заголовке компонента. Если диск не перепродает текущий профиль как "нет текущего профиля", завершится сбоем тестового случая.

  5. Отправьте команду GET CONFIGURATION еще раз с помощью RT=00b и с правильной длиной данных, возвращаемой устройством на шаге 3. Назначение: разрешить программному обеспечению получать весь список функций, поддерживаемых диском.

  6. Проверьте, сообщает ли диск текущий профиль в заголовке компонента. Если диск не перепродает текущий профиль как "нет текущего профиля", завершится сбоем тестового случая.

  7. Получите дескриптор компонента списка профилей в ответе для текущего битового набора профилей и сбой тестового случая, если любой из дескрипторов профиля имеет текущий бит профиля равным 1.

  8. Отправьте команду GET CONFIGURATION с длиной данных ответа 20 байт, RT=01b, начальное число компонентов=0010h (функция случайного чтения). Если команда завершается ошибкой или если дескриптор функции случайного чтения не возвращается, распечатайте ключ смысла соответствующим образом и завершится сбоем тестового случая. Назначение: разрешить программному обеспечению проверять определенную валюту признаков (не текущую).

  9. [Необязательно] Отправьте команду GET CONFIGURATION с флагом направления данных, установленным на устройство, и с длиной данных ответа размером 4 байта, чтобы получить длину данных заголовка компонента. Если команда завершается ошибкой, распечатайте ключ смысла и завершите тестовый случай. Назначение. Чтобы убедиться, что устройство обрабатывает команду с неправильным направлением данных.

  10. Впрыските область.

  11. Подождите, пока устройство не будет готово к состоянию

  12. Отправьте команду GET CONFIGURATION с длиной данных ответа 16 байт, RT=01b, начальное число компонентов=0003h (съемный средний компонент). Если команда завершается ошибкой, распечатайте ключ смысла соответствующим образом и завершится сбоем тестового случая. Если команда выполнена успешно:

    • Проверьте, установлен ли бит "Eject", если диск поддерживает механизм автоматического извлечения.

    • Проверьте, установлен ли бит Load, поддерживает ли диск механизм автоматического внедрения.

Результат. Диск должен правильно реагировать на команду GET CONFIGURATION.

Команда GET EVENT STATUS NOTIFICATION

Описание. Чтобы проверить, поддерживает ли диск команду GET EVENT STATUS NOTIFICATION

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправьте команду уведомления о состоянии событий со следующими значениями в CDB.

    • Запрос класса уведомлений = 0x7E (оперативное изменение, управление питанием, внешний запрос, носитель, мультиузлу, занятое устройством)

    • Опрос = 1

    • Длина выделения равна размеру заголовка ответа (4 байта)

  2. Если команда завершается ошибкой, сбой тестового случая

  3. В ответе проверка, какие события поддерживаются

  4. [Необязательно] Отправьте команду уведомления о состоянии событий с флагом направления данных, заданным для устройства, и следующими значениями в CDB.

    • Запрос класса уведомлений = 0x7E (оперативное изменение, управление питанием, внешний запрос, носитель, мультиузлу, занятое устройством)

    • Опрос = 1

    • Длина выделения равна размеру заголовка ответа (4 байта)

  5. Если команда завершается ошибкой, сбой тестового случая

  6. В ответе проверка, что длина данных события 0x6, бит NEA очищается, класс уведомлений не равен нулю и поддерживаемые классы событий идентичны шагу 3. В противном случае произошел сбой тестового случая.

  7. Отправьте команду уведомления о состоянии событий со следующими значениями в CDB.

    • Запрос класса уведомлений = 0x7E (оперативное изменение, управление питанием, внешний запрос, носитель, многоузловый узел, занятое устройством).

    • Опрос = 1

    • Длина выделения равна размеру заголовка ответа (4 байта)

  8. Если команда завершается ошибкой, завершится сбоем тестового случая.

Результат. Диск должен правильно реагировать на команду GET EVENT STATUS NOTIFICATION.

Команда ЗАПРОС

Описание. Чтобы проверить, поддерживает ли диск команду ЗАПРОС.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправьте команду ЗАПРОС с длиной выделения равным 08h. Назначение: разрешить программному обеспечению проверять требуемый размер буфера отклика.

  2. Если команда выполнена успешно, проверка ответ на дополнительную длину в заголовке. Дополнительная длина должна быть 32d или больше [MMC5r04 6.9.2].

  3. Отправьте команду ЗАПРОС еще раз с длиной выделения размером 5 байт больше, чем дополнительная длина из шага 2.

  4. Если команда выполнена успешно, убедитесь, что поля данных ответа соответствуют значениям, указанным в таблице MMC5r04 320.

  5. Убедитесь, что уровень идентификации поставщика, идентификации продукта и редакции продукта не имеет значения NULL.

    • Назначение: базовая идентификация по программному обеспечению.
  6. Проверьте, соответствуют ли следующие значения:

    • Тип устройства = 5

    • Квалификатор типа устройства = 0

    • Съемный носитель = 1

    • Формат данных ответа = 2

    • Поддержка иерархии = 0

    • Обычный ACA = 0

    • Protect = 0

    • Сторонняя копия = 0

    • Поддержка целевой группы портов = 0

    • Координатор контроль доступа s = 0

    • Поддержка SCC = 0

    • Addr16 = 0

    • Средний переменный = 0

    • Multi Port = 0

    • VS1 = 0

    • Службы корпуса = 0

    • BQue = 0

    • VS2 = 0

    • Очередь команд = 0

    • Связанные команды = 0

    • Синхронная = 0

    • Wide16 = 0

  7. Отправьте команду ЗАПРОС со следующими значениями в CDB:

    • EVPD = 0

    • Длина выделения = 240

  8. Отправьте команду ЗАПРОС со следующими значениями в CDB:

    • EVPD = 1

    • Длина выделения = 240

  9. Если команда завершается успешно, сравните ответ из шага 7 и шага 8, если оба варианта равны, то сбой тестового случая.

  10. Отправьте команду ЗАПРОС для случайного числа раз в диапазоне от 10 до 25 с случайной длиной выделения. Если команда завершается ошибкой, завершится сбоем тестового случая.

  11. [Необязательно] Отправьте команду ЗАПРОС с флагом направления данных, установленным на устройство" и со следующими значениями в CDB

    • EVPD = 0

    • Длина выделения = 240

Результат. Диск должен правильно реагировать на команду ЗАПРОС.

Команда MECHANISM STATUS

Описание. Чтобы проверить, поддерживает ли диск команду MECHANISM STATUS

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправьте команду MECHANISM STATUS с длиной выделения 0 байт (чувство данных не указано). Если команда завершается ошибкой, распечатайте ключ смысла и завершите тестовый случай.

    • Назначение: разрешить программному обеспечению проверять поддержку команды
  2. Выброшенный лоток.

  3. Подождите, пока устройство не вернет данные о смысле (sense Key: 0x2, ASC: 0x3A, ASCQ: 0x02)

  4. Отправьте команду MECHANISM STATUS с длиной выделения 8 байт.

  5. Убедитесь, что разряд Open Door равен 1b.

    • Назначение: разрешить программному обеспечению обнаруживать, открыта ли дверь или закрыта (открыта).
  6. Внедрение области

  7. Подождите, пока устройство будет готово

  8. Отправьте команду MECHANISM STATUS с длиной выделения 8 байт.

  9. Убедитесь, что разряд Open Door равен 0b.

    • Назначение: разрешить программному обеспечению обнаруживать, открыта ли дверь или закрыта (закрыта).
  10. Создайте буфер 8 байтов и заполните его случайными данными.

  11. [Необязательно] Отправьте команду MECHANISM STATUS с флагом направления данных, заданным для устройства, и длиной выделения 8 байт. Передайте буфер с шага 11 на устройство.

Результат. Диск должен правильно реагировать на команду "СОСТОЯНИЕ МЕХАНИЗМА"

Команда MODE SENSE

Описание. Чтобы проверить, поддерживает ли диск команду Mode Sense.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправьте команду MODE SENSE со следующими значениями в CDB, чтобы получить все поддерживаемые страницы режима:

    • Элемент управления страницей = 0

    • Отключение дескрипторов блоков = 1

    • Код страницы = 0x3F

    • Длина выделения = 0x8000

  2. Проверьте следующие значения в ответе:

    • Длина дескриптора блока в заголовке параметров режима равна нулю

    • Длина страницы для каждого данных страницы в режиме равна значению, задокументированного в MMC5.

  3. Проверка данных страницы режима для каждой сообщаемой страницы

  4. Отправьте команду Mode Sense для каждой сообщаемой страницы со следующими значениями в CDB:

    • Элемент управления страницей = 0

    • Отключение дескрипторов блоков = 1

    • Длина выделения = длина страницы, сообщаемая диском на шаге 2

  5. Проверьте следующие значения в ответе:

    • Длина дескриптора блока в заголовке параметров режима равна нулю.

    • Код страницы в заголовке страницы режима совпадает с запрошенным кодом страницы.

    • Длина страницы в заголовке страницы режима равна документу значения в MMC5.

  6. Отправка команды Mode Sense с длиной выделения 0xFFF0

  7. Проверьте следующие значения в ответе:

    • Длина дескриптора блока в заголовке параметров режима равна нулю

    • Код страницы в заголовке страницы режима совпадает с запрошенным кодом страницы

  8. Отправка команды "Чувство режима" с 0x0A

  9. Проверьте, соответствует ли ответ байт байтов до размера ответа (0x0A) с ответом на длину выделения, равной 0xFFF0.

  10. Отправьте команду "Смысл режима" для случайного числа раз от 10 до 25 со случайными длинами выделения между 0x0A и 0xFFF0.

  11. Проверьте, соответствует ли ответ байт байтов до размера ответа (случайное значение между 0x0A и 0xFFF0) с ответом на длину выделения, равной 0xFFF0.

  12. [Необязательно] Отправьте команду MODE SENSE с флагом направления данных, установленным на "устройство", и со следующими значениями в CDB, чтобы получить все поддерживаемые страницы режима:

    • Элемент управления страницей = 0

    • Отключение дескрипторов блоков = 1

    • Код страницы = 0x3F

    • Длина выделения = 0x8000

Результат. Диск должен правильно реагировать на команду GET CONFIGURATION.

Команда ALLOW MEDIUM REMOVAL

Описание. Чтобы проверить, поддерживает ли диск команду PREVENT ALLOW MEDIUM REMOVAL.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправьте команду PREVENT ALLOW MEDIUM REMOVAL с запретом на 1 и постоянный бит, равный 0. Это заблокирует диск. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  2. Отправьте команду начальной единицы остановки с LocEj битом 1 и 1 битом Интерпретации, равным 0, и начальным битом, равным нулю. Это попытается извлечь диск. Если диск не отклоняет команду с данными о смысле 0x05 0x53, 0x02 это сбой.

  3. Отправьте команду test Unit ready и убедитесь, что она выполнена успешно.

  4. Попросите пользователя нажать кнопку извлечения, чтобы извлечь носитель.

  5. Отправьте команду test Unit ready и убедитесь, что она по-прежнему выполнена успешно (дверь не должна открываться).

  6. Отправьте команду "Запретить удаление среднего", чтобы предотвратить значение 0 и постоянное значение 0. Это разблокирует диск. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  7. Попросите пользователя нажать кнопку извлечения, чтобы извлечь носитель

  8. Подождите, пока устройство откроет дверь. Отправьте команду test Unit ready, если команда завершается успешно, дождитесь 1 секунды и повторите попытку до тех пор, пока не будет выполнена ошибка (02/3A/02). Время ожидания после 30 секунд.

  9. Если диск поддерживает механизм автоматической загрузки, затем вставляете область обратно в диск в противном случае попросите пользователя вставить область обратно в диск.

  10. Подождите, пока устройство будет готово

  11. [Необязательно] Отправьте команду ALLOW MEDIUM REMOVAL с флагом направления данных, заданным для устройства, и передайте случайные данные в буфер случайного размера.

Результат. Диск должен правильно реагировать на команду ALLOW MEDIUM REMOVAL.

Команда REQUEST SENSE

Описание. Чтобы проверить, поддерживает ли диск команду REQUEST SENSE.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправьте команду REQUEST SENSE с битом дескриптора, равным нулю, и длина выделения имеет значение 252. Диск должен отвечать с данными с фиксированным форматом.

  2. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  3. Если код ответа 0x70 или 0x71 тест проходит в противном случае.

  4. [Необязательно] Отправьте команду REQUEST SENSE с флагом направления данных, равным "устройству", и с битом дескриптора, равным нулю, и длина выделения имеет значение 252. Диск должен отвечать с данными с фиксированным форматом.

Результат. Диск должен правильно реагировать на команду REQUEST SENSE.

КОМАНДА START STOP UNIT, EJECT & LOAD PERFORMANCE

Описание. Чтобы проверить, поддерживает ли диск команду START STOP UNIT.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправка команды START STOP UNIT со следующими значениями в CDB

    • Интерпретация = 0, LoadEject = 0, Start = 0, PowerConditions = 0

    • Интерпретация = 0, LoadEject = 0, Start = 1, PowerConditions = 0

    • Интерпретация = 1, LoadEject = 0, Start = 0, PowerConditions = 0

    • Интерпретация = 1, LoadEject = 0, Start = 1, PowerConditions = 0

  2. Команда должна выполниться успешно для каждой из этих комбинаций.

  3. Если диск поддерживает извлечение области, отправьте команду START STOP UNIT со следующими значениями в CDB, чтобы извлечь область.

    • Интерпретация = 1, LoadEject = 1, Start = 0, PowerConditions = 0
  4. Подождите, пока устройство откроет дверь. Отправьте команду TEST UNIT READY, если команда завершается успешно, дождитесь 5 секунд и повторите попытку до тех пор, пока она не будет выполнена (02/3A/02). Время ожидания через 10 секунд.

  5. Если диск поддерживает загрузку области (автоматическое внедрение), отправьте команду START STOP UNIT со следующими значениями в CDB, чтобы внедрить область.

    • Интерпретация = 1, LoadEject = 1, Start = 1, PowerConditions = 0
  6. Если диск не поддерживает загрузку области, попросите пользователя вставить область обратно в диск.

  7. Подождите, пока устройство будет готово. Отправьте команду TEST UNIT READY, если команда завершается ошибкой с помощью ключа смысле, дождитесь 1 секунды и повторите попытку, пока она не будет успешно выполнена. Время ожидания после 30 секунд. ЛОГОТИП PREMIUM: время ожидания: 20 секунд.

  8. Отправьте команду START STOP UNIT со следующими значениями в CDB, чтобы извлечь область.

    • Интерпретация = 0, LoadEject = 1, Start = 0, PowerConditions = 0
  9. Подождите, пока устройство откроет дверь. Отправьте команду TEST UNIT READY, если команда завершается успешно, дождитесь 1 секунды и повторите попытку до сбоя (02/3A/02). Время ожидания после 30 секунд.

  10. Попросите пользователя удалить носитель

  11. Если диск поддерживает загрузку области (автоматическое внедрение), отправьте команду START STOP UNIT со следующими значениями в CDB, чтобы внедрить область.

    • Интерпретация = 0, LoadEject = 1, Start = 1, PowerConditions = 0
  12. Убедитесь, что команда завершается ошибкой с параметром Not Ready / Medium not present / Tray closed (02/3A/01)

  13. Если диск поддерживает извлечение области, отправьте команду START STOP UNIT со следующими значениями в CDB, чтобы извлечь область:

    • Интерпретация = 0, LoadEject = 1, Start = 0, PowerConditions = 0
  14. Попросите пользователя разместить носитель в области.

  15. Если диск не поддерживает загрузку области, попросите пользователя вставить область обратно в диск и ждать, пока устройство не будет готово. Если диск поддерживает загрузку области (автоматическое внедрение), отправьте команду START STOP UNIT со следующими значениями в CDB, чтобы внедрить область и подождите, пока устройство не будет готово.

    • Интерпретация = 0, LoadEject = 1, Start = 1, PowerConditions = 0
  16. [Необязательно] Отправьте команду START STOP UNIT с флагом направления данных, равным "устройству". Отправьте буфер случайного размера со случайными данными и со следующими значениями в CDB.

    • Интерпретация = 0, LoadEject = 0, Start = 0, PowerConditions = 0

Результат. Диск должен правильно реагировать на команду START STOP UNIT.

КОМАНДА TEST UNIT READY

Описание. Чтобы проверить, поддерживает ли диск команду TEST UNIT READY.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправьте команду TEST UNIT READY.

  2. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая

  3. [Необязательно] Отправьте команду TEST UNIT READY с флагом направления данных, заданным для устройства, и буфером случайного размера, заполненным случайными данными.

Результат. Диск должен правильно реагировать на команду TEST UNIT READY.

Команда GET CONFIGURATION

Описание. Чтобы проверить, поддерживает ли диск команду GET CONFIGURATION для сообщаемого профиля.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправьте команду GET CONFIGURATION с длиной данных ответа 0 байт (не указано значение значения данных). Если команда завершается ошибкой, распечатайте ключ смысла и завершите тестовый случай.

    • Назначение: разрешить программному обеспечению проверять поддержку команды.
  2. Отправьте команду GET CONFIGURATION с длиной данных ответа размером 4 байта, чтобы получить длину данных заголовка компонента. Если команда завершается ошибкой, распечатайте ключ смысла и завершите тестовый случай.

    • Назначение: разрешить программному обеспечению проверять поддержку команды.
  3. Отправьте команду GET CONFIGURATION с длиной данных ответа 8 байт (чтобы получить заголовок), RT=00b, Начальная номер компонента=000h. Если команда завершается ошибкой или если текущий профиль равен 00h, распечатайте ключ смысле в соответствии с соответствующим и завершится сбоем тестового случая.

    • Целей:

      • разрешить программному обеспечению проверять требуемый размер буфера ответа.

      • разрешить программному обеспечению проверять текущий профиль (профиль является текущим).

  4. Если команда завершается успешно проверка следующее в ответе

    • Длина данных в заголовке не равна нулю, и она равна четырем байтам, выровненным

    • Текущий номер профиля соответствует типу носителя, загруженного на диск

  5. Отправьте команду GET CONFIGURATION с длиной данных ответа на шаге 3, RT=00b, начальная номер компонента=0000h. Прочтите текущий профиль и найдите этот код профиля в списке поддерживаемых профилей. Убедитесь, что текущий профиль соответствует типу профиля вставленного носителя. Если команда завершается ошибкой или если текущий профиль не сообщается в списке поддерживаемых профилей, распечатайте ключ смысле в соответствии с ситуацией и завершится сбоем тестового случая.

    • Назначение. Обеспечение согласованности сведений, сообщаемых диском.
  6. Отправьте команду GET CONFIGURATION еще раз с rt=00b и с правильной длиной данных, возвращаемой устройством на шаге 3, если длина соответствует 2 байтам. Если длина превышает 2 байта, отправьте команду с максимальной длиной данных в 2 байта.

    • Назначение: разрешить программному обеспечению получать весь список функций, поддерживаемых диском.
  7. Если длина превышает 2 байта, ознакомьтесь с номером компонента для последнего возвращаемого дескриптора компонентов и выполните дополнительную команду GET CONFIGURATION с RT=10b и с начальным номером компонента, равным этому номеру функции плюс 1. Повторяйте операцию до тех пор, пока длина данных, возвращаемая в заголовке компонента, равна или меньше выделенной длине. Объединение результирующего дескриптора компонентов для проверки на шаге 10.

  8. Для всех команд, успешно выполненных на шагах 3–6, проверка, если длина данных в заголовке ответа равна 4 (4 байта выровнены). Сбой, если он не равен 4 байтам, выровненным. Назначение: 4 байта выравнивание предполагается программным обеспечением.

  9. Кроме того, если команды выполнены успешно, проверка, что каждое указанное поле "Версия компонента" и "Дополнительная длина" равно или больше соответствующих значений для данной функции в документе MMC-5. Например: версия основной функции должна быть 0010b или выше, а ее дополнительная длина должна быть 8 или больше. Назначение. Обеспечение согласованности сведений, сообщаемых диском. Если сообщается о съемных носителях, номер версии должен быть равен 1, как указано в команде GET CONFIGURATION.

  10. Кроме того, если команды выполнены успешно, проверка, что сообщается о каждой обязательной функции для сообщаемого поддерживаемого профиля.

    • Назначение. Обеспечение согласованности метаданных, сообщаемых диском.
  11. Отправьте команду GET CONFIGURATION с длиной данных ответа 20 байт, RT=01b, начальное число компонентов=0010h (функция случайного чтения). Если команда завершается ошибкой или если дескриптор функции случайного чтения не возвращается, распечатайте ключ смысла соответствующим образом и завершится сбоем тестового случая. Назначение: разрешить программному обеспечению проверять определенную валюту признаков (текущую).

  12. [Необязательно] Отправьте команду GET CONFIGURATION с флагом направления данных, установленным на "устройство", и с буфером случайного размера, заполненным случайными данными. Следующие значения задаются в CDB:

    • Длина выделения = размер буфера, начальный номер компонента=0000h, RT=00b

Результат. Диск должен правильно реализовать команду GET CONFIGURATION для применимых типов носителей.

Команда GET PERFORMANCE

Описание. Чтобы проверить, поддерживает ли диск команду GET PERFORMANCE для сообщаемого профиля.

Применимый носитель: любой из следующих носителей:

  • CD-R

  • компакт-диск

  • CD-RW

  • DVD+R

  • Двойной слой DVD+R

  • DVD+RW

  • Перезапись dvd-RW с ограниченным доступом

  • DVD-ОЗУ

  • DVD-R

  • Dvd-R Двойной слой Seq

  • DVD-ДИСК

  • BD-R

  • BD-RE

  • BD-ROM

Этапы тестового дела:

  1. Отправьте команду GET CONFIGURATION, чтобы получить функцию потоковой передачи в РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ. Проверьте ответ, если установлен бит дескриптора скорости записи. Если это не задано, диск не поддерживает дескрипторы скорости записи. Пропустите шаги 6–11, которые проверяют дескрипторы скорости записи.

  2. Отправьте команду GET PERFORMANCE со следующими значениями в CDB, чтобы получить дескрипторы производительности с нулевой номинальной производительностью чтения

    • Тип = 0

    • Запуск LBA = 1

    • Максимальное число дескрипторов = 0

    • Тип данных = 0x10

  3. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая

  4. Отправьте команду GET PERFORMANCE со следующими значениями в CDB, чтобы получить один дескриптор производительности чтения

    • Тип = 0

    • Запуск LBA = 1

    • Максимальное число дескрипторов = 1

    • Тип данных = 0x10

  5. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая

  6. Отправьте команду GET PERFORMANCE со следующими значениями в CDB, чтобы получить один дескриптор производительности записи.

    • Тип = 0

    • Запуск LBA = 1

    • Максимальное число дескрипторов = 1

    • Тип данных = 0x14

  7. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая

  8. Отправьте команду GET PERFORMANCE со следующими значениями в CDB, чтобы получить длину данных для списка дескрипторов скорости записи

    • Тип = 3

    • Запуск LBA = 1

    • Максимальное число дескрипторов = 0

    • Тип данных = 0x14

  9. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  10. Отправьте команду GET PERFORMANCE со следующими значениями в CDB, чтобы получить список дескрипторов скорости записи

    • Тип = 3

    • Запуск LBA = 1

    • Максимальное число дескрипторов = 10

    • Тип данных = 0x14

  11. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  12. [Необязательно] Отправьте команду GET PERFORMANCE с флагом направления данных, заданным для устройства, и буфером случайного размера, заполненным случайными данными. Задайте следующие значения в CDB, чтобы получить дескрипторы производительности чтения нулевого номинального значения.

    • Тип = 0

    • Запуск LBA = 1

    • Максимальное число дескрипторов = 0

    • Тип данных = 0x10

  13. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

Результат. Диск должен правильно реализовать команду GET PERFORMANCE для применимых типов носителей.

Команда READ CAPACITY

Описание. Чтобы проверить, поддерживает ли диск команду READ CAPACITY для сообщаемого профиля.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправьте команду READ CAPACITY.

  2. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  3. Если длина блока в байтах не равна 2048, завершится сбоем тестового случая.

  4. [Необязательно] Отправьте команду READ CAPACITY с флагом направления данных, заданным для устройства, и буфером случайного размера, заполненным случайными данными.

  5. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

Результат. Диск должен правильно реализовать команду READ CAPACITY для применимых типов носителей.

Команда READ BUFFER CAPACITY

Описание. Чтобы проверить, поддерживает ли диск команду READ BUFFER CAPACITY для сообщаемого профиля.

Применимый носитель: любой носитель, поддерживаемый устройством.

Этапы тестового дела:

  1. Отправьте команду GET CONFIGURATION, чтобы получить функцию потоковой передачи в РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ. Проверьте ответ, если установлен бит блока емкости буфера чтения (RBCB). Если это не задано, диск не поддерживает команду "Емкость буфера чтения". Пропустить тестовый случай.

  2. Отправьте команду READ BUFFER CAPACITY с блочной битой, равной 0, и длина выделения равна размеру структуры емкости буфера.

  3. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  4. Повторите шаг 2 с блок-битом, равным 1.

  5. Если команда завершается сбоем с печатью ключа смысле и завершится ошибкой команды.

  6. [Необязательно] Отправьте команду READ BUFFER CAPACITY с флагом направления данных, установленным на "устройство", и с буфером случайного размера, заполненным случайными данными и битом блока, равным нулю.

  7. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

Результат. Диск должен правильно реализовать команду READ BUFFER CAPACITY для применимых типов носителей.

Команда READ DISC INFORMATION

Описание. Чтобы проверить, поддерживает ли диск команду READ DISC INFORMATION для сообщаемого профиля.

Применимый носитель: любой из следующих носителей:

  • DVD+R

  • DVD+RW

  • DVD-R

  • CD-R

  • CD-RW

Этапы тестового дела:

  1. Отправьте команду READ DISC INFORMATION с длиной выделения 2, чтобы получить стандартный размер сведений о диске.

  2. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  3. Получите длину информации о диске из ответа. Если длина меньше размера блока сведений о дисках (34), завершится сбоем тестового случая.

  4. Отправьте команду READ DISC INFORMATION с длиной выделения, равной длине данных из шага 3 плюс 2.

  5. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  6. [Необязательно] Отправьте команду READ DISC INFORMATION с флагом направления данных, установленным на "устройство", и с буфером случайного размера, заполненным случайными данными и длиной выделения, равным размеру буфера.

Результат. Диск должен правильно реализовать команду READ DISC INFORMATION для применимых типов носителей.

Команда READ FORMAT CAPACITIES

Описание. Чтобы проверить, поддерживает ли диск команду READ FORMAT CAPACITIES для сообщаемого профиля.

Применимый носитель: любой из следующих носителей:

  • DVD+RW

  • Перезапись dvd-RW с ограниченным доступом

  • DVD-ОЗУ

  • CD-RW

Этапы тестового дела:

  1. Отправьте команду READ FORMAT CAPACITY с длиной выделения равным 4 (заголовок списка емкости).

  2. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  3. Получение длины списка емкости из ответа

  4. Отправьте команду READ FORMAT CAPACITY с длиной выделения, равной длине списка емкости + 4 (размер заголовка списка емкости).

  5. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  6. Проверьте ответ, если длина списка емкости равна 8.

  7. [Необязательно] Отправьте команду READ FORMAT CAPACITIES с флагом направления данных, установленным на "устройство", и с буфером случайного размера, заполненным случайными данными и длиной выделения, равным размеру буфера.

Результат. Диск должен правильно реализовать команду READ FORMAT CAPACITIES для применимых типов носителей.

Команда READ TOC/PMA/ATIP

Описание. Чтобы проверить, поддерживает ли диск команду READ TOC/PMA/ATIP для сообщаемого профиля.

Применимый носитель: любой из следующих носителей:

  • компакт-диск

  • DVD-ДИСК

  • BD-ROM

Этапы тестового дела:

  1. Отправьте команду READ TOC/PMA/ATIP со следующими значениями в CDB.

    • Формат = 0, MSF = 0, номер сеанса отслеживания = 1, длина выделения = 4
  2. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  3. [Необязательно] Отправьте команду READ TOC/PMA/ATIP с флагом направления данных, установленным на устройство, и буфер, заполненный случайными данными и длиной выделения, равным размеру буфера. Задайте CDB со следующими значениями:

    • Формат = 0, MSF = 0, номер сеанса отслеживания = 1, длина выделения = 4

Результат. Диск должен правильно реализовать команду READ TOC/PMA/ATIP для применимых типов носителей

Команда SEND OPC INFORMATION

Описание: [Это содержимое еще недоступно.]

Применимый носитель: любой из следующих носителей:

  • Перезапись dvd-RW с ограниченным доступом

  • DVD-R

  • CD-RW

  • CD-R

Этапы тестового дела:

  1. Отправка команды SEND OPC INFORMATION с помощью DoOpc с установленным значением 1

  2. Если команда завершается ошибкой печати ключа смысле и завершается сбоем тестового случая.

  3. [Необязательно] Отправьте команду SEND OPC INFORMATION с параметром DoOpc с значением 1, флаг направления данных, установленный на "устройство" и с буфером случайного размера, заполненным случайными данными. Длина выделения имеет размер буфера.

Результат. Диск должен правильно реализовать команду SEND OPC INFORMATION для применимых типов носителей.

Команда SET CD SPEED

Описание. Чтобы проверить, поддерживает ли диск команду SET CD SPEED для сообщаемого профиля.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Отправьте команду GET CONFIGURATION, чтобы получить функцию потоковой передачи в РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ. Проверьте ответ, если установлен бит Set CD Speed (SCS). Если это не задано, диск не поддерживает команду SET CD SPEED. Пропустить тестовый случай.

  2. Отправьте команду SET CD SPEED со следующими значениями в CDB.

    • RotationalControl = 0, ReadSpeed = 0xFFFF, WriteSpeed = (((4* 75 * 2352) + 500) / 1000) Если команда не выводит ключ смысла и завершается сбоем тестового случая
  3. [Необязательно] Отправка команды SET CD SPEED с флагом направления данных, установленным на "устройство" и буфером случайного размера, заполненным случайными данными. Задайте следующие значения в CDB.

    • RotationalControl = 0, ReadSpeed = 0xFFFF, WriteSpeed = (((4* 75 * 2352) + 500) / 1000)

Результат. Диск должен правильно реализовать команду SET CD SPEED для применимых типов носителей.

Команда READ10

Описание. Чтобы проверить, поддерживает ли диск команду READ10 для сообщаемого профиля.

Применимый носитель: любой из следующих носителей:

  • компакт-диск

  • DVD-ДИСК

Этапы тестового дела:

  1. Отправка команды READ TOC/PMA/ATIP с выделенной длиной равно размеру заголовка ответа READ TOC (4 байта)

  2. Отправьте команду READ TOC/PMA/ATIP с помощью длины выделения равным размеру заголовка ответа READ TOC (4 байта) + длина данных из заголовка ответа из шага 1.

  3. Проверьте все отформатированные дескрипторы для чтения TOC, если для любого из элементов управления задано значение 0x04

  4. Если не найдено, сбой тестового случая

  5. В противном случае получите начальный адрес трассы из дескриптора дескриптора отформатированного трека Toc.

  6. Отправьте команду "Емкость чтения" с полем LBA с нулевым значением, чтобы получить размер блока.

  7. Отправьте команду чтения с заданным значением "Длина передачи" равным нулю и запускУ LBA с шага 5.

  8. Вычисление количества блоков для чтения

  9. Если значение LBA в ответе емкости чтения меньше LBA на шаге 5, то для чтения задано значение 0.

  10. Если LBA в ответе на емкость чтения больше, чем LBA на шаге 5, то задайте количество блоков для чтения равным разнице между LBA от ответа емкости чтения и LBA с шага 5. Если это значение больше 50, задайте количество блоков для чтения 50.

  11. Задайте начальный LBA в чтении 10 CDB на LBA с шага 5

  12. Отправка команды read10 с длиной передачи до 1

  13. Спящий режим для 10 миллисекунда

  14. Добавим начальный LBA в чтение 10 CDB

  15. Повторите шаги 12–14, пока не считаем все количество блоков.

  16. [Необязательно] Отправьте команду READ10 с флагом направления данных, установленным на "устройство" и буфером случайного размера, заполненным случайными данными. Задайте следующие значения в CDB.

    • TransferLength = 1, Запуск LBA = случайное значение LBA в диапазоне LBA числа LBAs из шага 8 с запуском LBA с шага 5

Результат. Диск должен правильно реализовать команду READ10 для применимых типов носителей.

Уведомление о событии

Описание. Чтобы проверить правильность отправки уведомления о событии устройства в windows PNP.

Применимый носитель: любой носитель, поддерживаемый устройством

Этапы тестового дела:

  1. Если для поля BusType STORAGE_ADAPTER_DESCRIPTOR структуры диска задано значение BusTypeSata, отправьте IOCTL_ATA_PASS_THROUGH с запросом на определение данных об устройстве пакетов. В ответе проверка, что бит 5 слова 78 (функция асинхронного уведомления поддерживается) и бит 5 слова 79 (включена функция асинхронного уведомления), оба заданы. В противном случае завершится сбой теста

  2. Зарегистрируйтесь для события "Оперативное изменение".

  3. Проверьте, присутствует ли носитель.

  4. Если носитель присутствует, извлеките носитель.

  5. Дождитесь события MEDIA REMOVAL. Если событие не создается в течение 60 секунд времени ожидания, завершится сбоем тестового случая.

  6. Вставить носитель на диск.

  7. Дождитесь события MEDIA ARRIVAL. Если событие не создается в течение 60 секунд времени ожидания, завершится сбоем тестового случая.

Результат. Диск должен правильно реализовать уведомления о событиях.

Написание тестов

Описание. Проверяет возможности записи диска для содержимого данных в контексте IMAPI. Устройство проверяется с различными скоростями записи, сообщаемыми диском. Тест также проверяет возможности многосессии устройства, применимые для вставленного носителя.

Применимый носитель: любой из следующих носителей (зависит от операции диска):

  • Последовательная запись:

    • CD-R

    • CD-RW

    • DVD+R

    • DVD-R

    • DVD-ОЗУ

    • BD-R

    • BD-RE

  • Ограниченная перезапись:

    • DVD-RW
  • Режим пакета:

    • DVD+RW
  • Multisession:

    • CD-R

    • CD-RW

    • DVD-R

    • DVD+R

    • BD-R

Этапы тестового дела:

  1. Попросите пользователя вставить пустой носитель.

  2. Вызовите API IDiscFormat2Data::get_CurrentMediaStatus, чтобы проверка, если носитель пуст.

  3. Если носитель не пуст и если он является одним из следующих перезаписываемых типов мультимедиа, удалите носитель, отправив пустую команду с минимальным пустым параметром.

    • CD-RW

    • Последовательная запись DVD-RW

    • Перезапись dvd-RW с ограниченным доступом

    • DVD+RW

    • DVD-ОЗУ

    • BD-RE

  4. Если носитель не является перезаписываемым носителем, попросите пользователя вставить пустой носитель. Повторите попытку в течение 3 раз, в противном случае завершится сбой тестового случая.

  5. Если носитель не является перезаписываемым носителем, попросите пользователя вставить пустой носитель. Повторите попытку в течение 3 раз, в противном случае завершится сбой тестового случая.

  6. Получите список дескрипторов скорости записи, вызвав API IDiscFormat2Data::get_SupportedWriteSpeedDescriptors.

  7. Случайный порядок скоростей записи

  8. Задайте скорость записи, вызвав API IDiscFormat2Data::SetWriteSpeed с одной из скоростей записи из шага 6.

  9. Создайте случайный размер данных с диапазоном 10 % доступного пространства на носителе. Заполните буфер случайными данными.

  10. Получите количество бесплатных блоков на диске с помощью API IDiscFormat2Data::get_FreeSectorsOnMedia.

  11. Получите следующий записываемый адрес с помощью API IDiscFormat2Data::get_NextWritableAddress.

  12. Запись буфера данных из шага 8 с помощью IDiscFormat2Data::Write.

  13. Если диск поддерживает механизм автоматического извлечения, то извлекается и внедряется носитель в область.

  14. Если носитель не является DVD-RW, DVD+RW, DVD-RAM, BD-RE, то:

    • Получите количество бесплатных блоков на диске с помощью API IDiscFormat2Data::get_FreeSectorsOnMedia.

    • Проверьте, меньше ли количество свободных секторов от шага 9 по размеру данных записи на шаге 8.

    • Получите следующий записываемый адрес с помощью API IDiscFormat2Data::get_NextWritableAddress.

    • Проверьте, что следующий записываемый адрес больше следующего записываемого адреса из шага 10 по размеру данных записи на шаге 8.

    • Считывайте данные из диска и сравнивайте их с данными, записанными на носитель на шаге 11.

  15. Получение последней информации о отслеживании

  16. Если носитель не является DVD-RW, проверка, если размер логического трека больше или равен размеру записанных данных.

  17. Проверьте правильность номера логического трека.

  18. Получите страницу режима записи параметров.

  19. Убедитесь, что данные отслеживания, сообщаемые диском, не являются пакетом или добавочными, если страница параметров записи сообщает о фиксированном пакете.

  20. Чтение сведений о диске и проверка, если количество совпадений сеанса.

  21. Если носитель не dvd-RW, DVD+RW и DVD-RAM повторите шаги 7–19 для каждой скорости записи. Если диск вернул только одну скорость записи, повторите шаги 7–19 раз, чтобы добавить еще один сеанс на диск для проверки возможностей многосессии.

Результат. Диск должен иметь возможность сжигания данных в контексте IMAPI.

АУДИОМЕДИЙНЫЕ НОСИТЕЛИ (ЗАПИСЬ ЗВУКОВЫХ ТРЕКОВ)

Описание. Проверка возможностей записи диска для звукового содержимого в контексте IMAPI.

Применимый носитель: любой из следующих носителей:

  • CD-R

  • CD-RW

Этапы тестового дела:

  1. Если носитель не пуст и если он является типом носителя CD-RW, удалите носитель, отправив пустую команду с минимальным пустым параметром.

  2. Если носитель не является перезаписываемым носителем, попросите пользователя вставить пустой носитель. Повторите попытку в течение 3 раз, в противном случае завершится сбой тестового случая.

  3. Блокировка носителя для эксклюзивного доступа путем вызова DiscFormat2TrackAtOnce::P repareMedia.

  4. Получите список дескрипторов скорости записи, вызвав API IDiscFormat2TrackAtOnce::get_SupportedWriteSpeeds.

  5. Выберите случайное количество звуковых треков в диапазоне от 3 до 10.

  6. Случайный порядок скоростей записи.

  7. Задайте скорость записи, вызвав API IDiscFormat2TrackAtOnce::SetWriteSpeed из шага 1.

  8. Получите количество бесплатных блоков на диске с помощью API IDiscFormat2Data::get_FreeSectorsOnMedia.

  9. Создайте звуковые данные случайного размера от 1 минуты звуковых данных до 10 минут аудиоданных. Размер данных должен быть кратным в 2352.

Blank

  1. Повторите шаги 1–4, чтобы добавить следующие предложения:

  1. Предупреждение

      

     

Предупреждение

  

 

  • компакт-диск

серийный номер;

Предупреждение

  

 

  1. Предупреждение

      

     

потоковой передачи в режиме реального времени.

  1. Создайте образ.

  2. В противном случае отправляется .

Использование команды

Команда Description

Запустите тесты.

Примечание.

  

 

Синтаксис команд

Параметры команды Description

диск

адаптер

профиль

seed

Автоматизация

логотип

Но этот вариант мы рекомендуем использовать только для тестирования.

Отладчик

Уровень детализации

Уровень подробного ведения журнала

Журнал

Имя файла журнала

 

Список файлов

Файл Местонахождение

 

Параметры

Наименование параметра Описание параметра
profile
log