IOCTL_AACS_READ_MEDIA_KEY_BLOCK IOCTL (ntddcdvd.h)
Interroge l’unité logique pour le bloc de clé multimédia (MKB).
Code principal
Mémoire tampon d’entrée
La mémoire tampon à Irp->AssociatedIrp.SystemBuffer contient le nombre 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 support 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 à Irp->AssociatedIrp.SystemBuffer contient un MKB opaque et de longueur variable. La taille du 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 Status est défini sur STATUS_SUCCESS si l’opération réussit. Si >AssociatedIrp.SystemBuffer est NULL ou la mémoire tampon à Irp->AssociatedIrp.SystemBuffer n’est pas suffisante pour contenir le MKB complet, l’opération échoue et retourne un état 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 des extensions AACS (Advanced Access Control System) pour récupérer le MKB. IOCTL_AACS_READ_MEDIA_KEY_BLOCK demande ne fonctionnera 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 par des signatures numériques. La structure MKB est entièrement documentée dans le système de contenu d’accès avancé , introduction et éléments de chiffrement courants spécification publiée par l’administrateur de licences du système de contenu d’accès avancé (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 de L’authentification AACS, consultez la spécification Advanced Access Content System, Introduction et Common Cryptographic Elements.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntddcdvd.h (include Ntddcdvd.h) |