IOCTL_DVD_READ_KEY IOCTL (ntddcdvd.h)
Возвращает ключ защиты от копирования указанного типа: ключ запроса, ключ шины, ключ заголовка, ключ чтения RPC, ключ задания RPC или ключ диска. Ключ запроса или ключ шины отправляется обратно на устройство для выполнения соответствующего шага в последовательности проверки подлинности DVD. После завершения последовательности проверки подлинности ключ заголовка используется для шифрования и расшифровки пользовательских данных, передаваемых с DVD-диска, а ключ диска используется для шифрования и расшифровки данных ключа заголовка. Если область диска не была задана ранее (если она по-прежнему используется по умолчанию для фабрики) и если вставляемый носитель имеет регион, регион устройства будет установлен в текущий регион мультимедиа.
Основной код
Входной буфер
Буфер в 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) |