IOCTL_AACS_READ_MEDIA_KEY_BLOCK IOCTL (ntddcdvd.h)

Consulta a unidade lógica do MKB (Bloco de Chave de Mídia).

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

O buffer em Irp-AssociatedIrp.SystemBuffer> contém o número AACS_LAYER_NUMBER da camada. O AACS_LAYER_NUMBER é um valor inteiro longo sem sinal no intervalo de 0 a 255, inclusive, que especifica a camada da mídia à qual um comando se aplica.

typedef ULONG AACS_LAYER_NUMBER, *PAACS_LAYER_NUMBER;

Comprimento do buffer de entrada

Parameters.DeviceIoControl.InputBufferLength no local da pilha de E/S indica o tamanho, em bytes, do buffer, que deve ser >= sizeof(AACS_LAYER_NUMBER).

Buffer de saída

O buffer em Irp-AssociatedIrp.SystemBuffer> contém um MKB opaco de comprimento variável. O tamanho do MKB é sempre um múltiplo de 32.768 (0x8000).

Comprimento do buffer de saída

Comprimento de um MKB de comprimento variável.

Bloco de status

O campo Informações é definido como o número de bytes transferidos. O campo Status será definido como STATUS_SUCCESS se a operação for bem-sucedida. Se Irp-AssociatedIrp.SystemBuffer>for NULL ou o buffer em Irp-AssociatedIrp.SystemBuffer> não for suficiente para conter o MKB completo, a operação falhará e retornará uma status de STATUS_BUFFER_TOO_SMALL e o tamanho do buffer necessário será retornado em IoStatus.Information.

Comentários

A pilha de armazenamento usa um comando READ DISC STRUCTURE (formato 0x17) com extensões AACS (Advanced Controle de Acesso System) para recuperar o MKB. IOCTL_AACS_READ_MEDIA_KEY_BLOCK solicitação não funcionará se a mídia na unidade lógica não estiver protegida pelo AACS.

Ao contrário do MKB usado com criptografia CSS (Content-Scrambling System), os MKBs do AACS são autoprotegerados com assinaturas digitais. A estrutura do MKB está totalmente documentada na especificação Sistema de Conteúdo de Acesso Avançado, Introdução e Elementos Criptográficos Comuns que é publicada pelo Administrador de Licenciamento do Sistema de Conteúdo de Acesso Avançado (AACS LA).

A solicitação IOCTL_AACS_READ_MEDIA_KEY_BLOCK corresponde a uma das etapas do algoritmo de autenticação AACS (Advanced Access Content System) (AACS-Auth). Para obter uma descrição completa do AACS-Auth, consulte a especificação Sistema de Conteúdo de Acesso Avançado, Introdução e Elementos Criptográficos Comuns .

Requisitos

Requisito Valor
Cabeçalho ntddcdvd.h (inclua Ntddcdvd.h)