// ntddcdvd.h
// CTL_CODE(0x0033, 0x401, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_DVD_READ_KEY 0x00335004
View the official Windows Driver Kit DDI referenceNo description available.
Returns a copy-protection key of the specified type: challenge key, bus key, title key, read RPC key, set RPC key, or disk key. A challenge key or bus key is sent back to the device to complete the related step in a DVD authentication sequence. After the authentication sequence is completed, a title key is used to encrypt and decrypt user data transferred from a DVD disc and a disk key is used to encrypt and decrypt title key data. If the drive region has not been set previously (if it is still at factory default) and if the inserted media has a region, the device region will be set to the current media region.
The buffer at Irp->AssociatedIrp.SystemBuffer contains a DVD_COPY_PROTECT_KEY structure that indicates the session ID of the DVD session and the type of key to return.
Parameters.DeviceIoControl.OutputBufferLength indicates the size, in bytes, of the buffer, which must be >= the size of one of the following: DVD_CHALLENGE_KEY_LENGTH, DVD_BUS_KEY_LENGTH, DVD_TITLE_KEY_LENGTH, DVD_RPC_KEY_LENGTH, DVD_SET_RPC_KEY_LENGTH, or DVD_DISK_KEY_LENGTH.
The driver returns the DVD_COPY_PROTECT_KEY data in the buffer at Irp->AssociatedIrp.SystemBuffer.
Length of a DVD_COPY_PROTECT_KEY.
The Information field is set to the number of bytes transferred. The Status field is set to STATUS_SUCCESS, or possibly to STATUS_INSUFFICIENT_RESOURCES.