IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE IOCTL (ntddcdvd.h)
Запрашивает у логической единицы размер буфера, необходимый для хранения блока ключей мультимедиа (MKB) Advanced контроль доступа System (AACS).
Основной код
Входной буфер
Буфер в Irp-AssociatedIrp.SystemBuffer> содержит номер AACS_LAYER_NUMBER слоя. AACS_LAYER_NUMBER — это длинное целое число без знака в диапазоне от 0 до 255 включительно, указывающее слой носителя, к которому применяется команда.
typedef ULONG AACS_LAYER_NUMBER, *PAACS_LAYER_NUMBER;
Длина входного буфера
Parameters.DeviceIoControl.InputBufferLength в расположении стека ввода-вывода указывает размер буфера в байтах, который должен быть >= sizeof(AACS_LAYER_NUMBER).
Выходной буфер
Буфер в Irp-AssociatedIrp.SystemBuffer> содержит ULONG, который содержит размер в байтах полного MKB AACS для этого носителя.
Длина выходного буфера
Используйте это значение, чтобы определить размер буфера, выделяемого для IOCTL_AACS_READ_MEDIA_KEY_BLOCK. Размер всегда кратен 32 768 (0x8000).
Блок состояния
В поле Сведения задано количество переданных байтов. Если операция выполнена успешно, для поля Состояние задано значение STATUS_SUCCESS. Для этой операции часто используются следующие коды сбоев:
STATUS_COPY_PROTECTION_FAILURE или STG_E_STATUS_COPY_PROTECTION_FAILURE
Сбой одного из механизмов защиты от копирования.
STATUS_CSS_AUTHENTICATION_FAILURE или STG_E_CSS_AUTHENTICATION_FAILURE
Сбой процесса проверки подлинности.
STATUS_CSS_KEY_NOT_ESTABLISHED или STG_E_CSS_KEY_NOT_ESTABLISHED
AGID для AACS не был установлен.
STATUS_CSS_KEY_NOT_PRESENT или STG_E_CSS_KEY_NOT_PRESENT
Для этого носителя не существует защиты AACS.
Комментарии
Запрос IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE не будет работать, если носитель в логическом блоке не защищен AACS.
Запрос IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE соответствует одному из шагов алгоритма проверки подлинности AACS-Auth. Полное описание AACS-Auth см. в статье Advanced Access Content System, Introduction and Common Cryptographic Elements спецификации, опубликованной администратором лицензирования системы содержимого расширенного доступа (AACS LA).
Требования
Требование | Значение |
---|---|
Заголовок | ntddcdvd.h (включая Ntddcdvd.h) |