IOCTL_DVD_READ_KEY IOCTL (ntddcdvd.h)

Возвращает ключ защиты от копирования указанного типа: ключ запроса, ключ шины, ключ заголовка, ключ чтения RPC, ключ задания RPC или ключ диска. Ключ запроса или ключ шины отправляется обратно на устройство для выполнения соответствующего шага в последовательности проверки подлинности DVD. После завершения последовательности проверки подлинности ключ заголовка используется для шифрования и расшифровки пользовательских данных, передаваемых с DVD-диска, а ключ диска используется для шифрования и расшифровки данных ключа заголовка. Если область диска не была задана ранее (если она по-прежнему используется по умолчанию для фабрики) и если вставляемый носитель имеет регион, регион устройства будет установлен в текущий регион мультимедиа.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Буфер в Irp-AssociatedIrp.SystemBuffer> содержит структуру DVD_COPY_PROTECT_KEY, которая указывает идентификатор сеанса DVD и тип возвращаемого ключа.

Длина входного буфера

Parameters.DeviceIoControl.OutputBufferLength указывает размер буфера в байтах, который должен быть >= размер одного из следующих элементов: DVD_CHALLENGE_KEY_LENGTH, DVD_BUS_KEY_LENGTH, DVD_TITLE_KEY_LENGTH, DVD_RPC_KEY_LENGTH, DVD_SET_RPC_KEY_LENGTH или DVD_DISK_KEY_LENGTH.

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

Драйвер возвращает данные DVD_COPY_PROTECT_KEY в буфере irp-AssociatedIrp.SystemBuffer>.

Длина выходного буфера

Длина DVD_COPY_PROTECT_KEY.

Блок состояния

В поле Сведения задано количество переданных байтов. Для поля Состояние задано значение STATUS_SUCCESS или, возможно, STATUS_INSUFFICIENT_RESOURCES.

Требования

Требование Значение
Заголовок ntddcdvd.h (включая Ntddcdvd.h)

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

DVD_COPY_PROTECT_KEY