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


IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE IOCTL (ntddcdvd.h)

Запрашивает у логической единицы размер буфера, необходимый для хранения блока ключей мультимедиа (MKB) Advanced контроль доступа System (AACS).

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Буфер в 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)