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


IOCTL_AACS_READ_BINDING_NONCE IOCTL (ntddcdvd.h)

Считывает nonce привязки AACS, начиная с указанного смещения байтов на диске, как часть протокола для чтения защищенной области данных.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Буфер в Irp-AssociatedIrp.SystemBuffer> содержит структуру типа AACS_READ_BINDING_NONCE, которая указывает DVD_SESSION_ID, начальный адрес логического блока и число секторов, для которых логическая единица должна создать nonce привязки.

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

Длина структуры AACS_READ_BINDING_NONCE .

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

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

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

Длина структуры AACS_READ_BINDING_NONCE .

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

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

Комментарии

Запрос IOCTL_AACS_READ_BINDING_NONCE соответствует части протокола проверки подлинности AACS, отвечающей за чтение защищенной области данных. Полное описание этого протокола см. в спецификации Advanced Access Content System, Introduction и Common Cryptographic Elements , опубликованной администратором лицензирования системы содержимого расширенного доступа (AACS LA).

AGID автоматически освобождается после выполнения запроса IOCTL_AACS_READ_BINDING_NONCE.

Клиенты, которые не используют поддержку файловой системы, должны задать для элемента HandleAACS_READ_BINDING_NONCE значение INVALID_HANDLE_VALUE и указать явные значения для членов StartLBA и NumberOfSectors .

Когда драйвер CDROM получает IOCTL, IOCTL немедленно завершится ошибкой с STATUS_INVALID_PARAMETER, если для поля StartLBA задано значение MAXULONGLONG или для поля NumberOfSectors задано значение MAXULONG. В этом случае вызывающий объект должен освободить ИДЕНТИФИКАТОР AGID вручную.

Требования

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