Partager via


IOCTL_AACS_READ_MEDIA_KEY_BLOCK IOCTL (ntddcdvd.h)

Interroge l’unité logique pour le bloc de clé multimédia (MKB).

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

La mémoire tampon dans Irp-AssociatedIrp.SystemBuffer> contient le numéro AACS_LAYER_NUMBER de la couche. Le AACS_LAYER_NUMBER est une valeur entière longue non signée comprise entre 0 et 255 inclus qui spécifie la couche du média auquel une commande s’applique.

typedef ULONG AACS_LAYER_NUMBER, *PAACS_LAYER_NUMBER;

Longueur de la mémoire tampon d’entrée

Parameters.DeviceIoControl.InputBufferLength dans l’emplacement de la pile d’E/S indique la taille, en octets, de la mémoire tampon, qui doit être >= sizeof(AACS_LAYER_NUMBER).

Mémoire tampon de sortie

La mémoire tampon sur Irp-AssociatedIrp.SystemBuffer> contient un MKB opaque de longueur variable. La taille de la MKB est toujours un multiple de 32 768 (0x8000).

Longueur de la mémoire tampon de sortie

Longueur d’un MKB de longueur variable.

Bloc d’état

Le champ Informations est défini sur le nombre d’octets transférés. Le champ État est défini sur STATUS_SUCCESS si l’opération réussit. Si Irp-AssociatedIrp.SystemBuffer>a la valeur NULL ou si la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer> n’est pas suffisante pour contenir la MKB complète, l’opération échoue et retourne un status de STATUS_BUFFER_TOO_SMALL, et la taille de mémoire tampon requise est retournée dans IoStatus.Information.

Remarques

La pile de stockage utilise une commande READ DISC STRUCTURE (format 0x17) avec les extensions AACS (Advanced Access Control System) pour récupérer la MKB. IOCTL_AACS_READ_MEDIA_KEY_BLOCK demande ne fonctionne pas si le média de l’unité logique n’est pas protégé par AACS.

Contrairement au MKB utilisé avec le chiffrement CSS (Content-Scrambling System), les mkBs AACS sont auto-protégés avec des signatures numériques. La structure MKB est entièrement documentée dans la spécification Advanced Access Content System, Introduction and Common Cryptographic Elements qui est publiée par Advanced Access Content System Licensing Administrator (AACS LA).

La requête IOCTL_AACS_READ_MEDIA_KEY_BLOCK correspond à l’une des étapes de l’algorithme d’authentification AACS (Advanced Access Content System) (AACS-Auth). Pour obtenir une description complète d’AACS-Auth, consultez la spécification Advanced Access Content System, Introduction and Common Cryptographic Elements .

Configuration requise

Condition requise Valeur
En-tête ntddcdvd.h (incluez Ntddcdvd.h)