32 #define IOCTL_DVD_BASE FILE_DEVICE_DVD 34 #define IOCTL_STORAGE_SET_READ_AHEAD \ 35 CTL_CODE(IOCTL_STORAGE_BASE, 0x0100, METHOD_BUFFERED, FILE_READ_ACCESS) 37 #define IOCTL_DVD_START_SESSION \ 38 CTL_CODE(IOCTL_DVD_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS) 40 #define IOCTL_DVD_READ_KEY \ 41 CTL_CODE(IOCTL_DVD_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS) 43 #define IOCTL_DVD_SEND_KEY \ 44 CTL_CODE(IOCTL_DVD_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS) 46 #define IOCTL_DVD_END_SESSION \ 47 CTL_CODE(IOCTL_DVD_BASE, 0x0403, METHOD_BUFFERED, FILE_READ_ACCESS) 49 #define IOCTL_DVD_SET_READ_AHEAD \ 50 CTL_CODE(IOCTL_DVD_BASE, 0x0404, METHOD_BUFFERED, FILE_READ_ACCESS) 52 #define IOCTL_DVD_GET_REGION \ 53 CTL_CODE(IOCTL_DVD_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS) 55 #define IOCTL_DVD_SEND_KEY2 \ 56 CTL_CODE(IOCTL_DVD_BASE, 0x0406, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 58 #define IOCTL_AACS_READ_MEDIA_KEY_BLOCK_SIZE \ 59 CTL_CODE(IOCTL_DVD_BASE, 0x430, METHOD_BUFFERED, FILE_READ_ACCESS) 61 #define IOCTL_AACS_READ_MEDIA_KEY_BLOCK \ 62 CTL_CODE(IOCTL_DVD_BASE, 0x431, METHOD_BUFFERED, FILE_READ_ACCESS) 64 #define IOCTL_AACS_START_SESSION \ 65 CTL_CODE(IOCTL_DVD_BASE, 0x432, METHOD_BUFFERED, FILE_READ_ACCESS) 67 #define IOCTL_AACS_END_SESSION \ 68 CTL_CODE(IOCTL_DVD_BASE, 0x433, METHOD_BUFFERED, FILE_READ_ACCESS) 70 #define IOCTL_AACS_SEND_CERTIFICATE \ 71 CTL_CODE(IOCTL_DVD_BASE, 0x434, METHOD_BUFFERED, FILE_READ_ACCESS) 73 #define IOCTL_AACS_GET_CERTIFICATE \ 74 CTL_CODE(IOCTL_DVD_BASE, 0x435, METHOD_BUFFERED, FILE_READ_ACCESS) 76 #define IOCTL_AACS_GET_CHALLENGE_KEY \ 77 CTL_CODE(IOCTL_DVD_BASE, 0x436, METHOD_BUFFERED, FILE_READ_ACCESS) 79 #define IOCTL_AACS_SEND_CHALLENGE_KEY \ 80 CTL_CODE(IOCTL_DVD_BASE, 0x437, METHOD_BUFFERED, FILE_READ_ACCESS) 82 #define IOCTL_AACS_READ_VOLUME_ID \ 83 CTL_CODE(IOCTL_DVD_BASE, 0x438, METHOD_BUFFERED, FILE_READ_ACCESS) 85 #define IOCTL_AACS_READ_SERIAL_NUMBER \ 86 CTL_CODE(IOCTL_DVD_BASE, 0x439, METHOD_BUFFERED, FILE_READ_ACCESS) 88 #define IOCTL_AACS_READ_MEDIA_ID \ 89 CTL_CODE(IOCTL_DVD_BASE, 0x43A, METHOD_BUFFERED, FILE_READ_ACCESS) 91 #define IOCTL_AACS_READ_BINDING_NONCE \ 92 CTL_CODE(IOCTL_DVD_BASE, 0x43B, METHOD_BUFFERED, FILE_READ_ACCESS) 94 #define IOCTL_AACS_GENERATE_BINDING_NONCE \ 95 CTL_CODE(IOCTL_DVD_BASE, 0x43C, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 97 #define IOCTL_DVD_READ_STRUCTURE \ 98 CTL_CODE(IOCTL_DVD_BASE, 0x0450, METHOD_BUFFERED, FILE_READ_ACCESS) 187 #define DVD_CHALLENGE_KEY_LENGTH (12 + sizeof(DVD_COPY_PROTECT_KEY)) 188 #define DVD_BUS_KEY_LENGTH (8 + sizeof(DVD_COPY_PROTECT_KEY)) 189 #define DVD_TITLE_KEY_LENGTH (8 + sizeof(DVD_COPY_PROTECT_KEY)) 190 #define DVD_DISK_KEY_LENGTH (2048 + sizeof(DVD_COPY_PROTECT_KEY)) 191 #define DVD_RPC_KEY_LENGTH (sizeof(DVD_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY)) 192 #define DVD_SET_RPC_KEY_LENGTH (sizeof(DVD_SET_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY)) 193 #define DVD_ASF_LENGTH (sizeof(DVD_ASF) + sizeof(DVD_COPY_PROTECT_KEY)) 195 #define DVD_END_ALL_SESSIONS ((DVD_SESSION_ID) 0xffffffff) 198 #define DVD_CGMS_RESERVED_MASK 0x00000078 200 #define DVD_CGMS_COPY_PROTECT_MASK 0x00000018 201 #define DVD_CGMS_COPY_PERMITTED 0x00000000 202 #define DVD_CGMS_COPY_ONCE 0x00000010 203 #define DVD_CGMS_NO_COPY 0x00000018 205 #define DVD_COPYRIGHT_MASK 0x00000040 206 #define DVD_NOT_COPYRIGHTED 0x00000000 207 #define DVD_COPYRIGHTED 0x00000040 209 #define DVD_SECTOR_PROTECT_MASK 0x00000020 210 #define DVD_SECTOR_NOT_PROTECTED 0x00000000 211 #define DVD_SECTOR_PROTECTED 0x00000020
struct _DVD_MANUFACTURER_DESCRIPTOR * PDVD_MANUFACTURER_DESCRIPTOR
UCHAR EllipticCurvePoint[40]
ULONGLONG ForceStructureLengthToMatch64bit
struct _AACS_BINDING_NONCE * PAACS_BINDING_NONCE
struct _DVD_LAYER_DESCRIPTOR DVD_LAYER_DESCRIPTOR
struct _DVD_DESCRIPTOR_HEADER DVD_DESCRIPTOR_HEADER
struct _DVD_DISK_KEY_DESCRIPTOR DVD_DISK_KEY_DESCRIPTOR
struct _STORAGE_SET_READ_AHEAD STORAGE_SET_READ_AHEAD
C_ASSERT(sizeof(AACS_CERTIFICATE)==112)
struct _AACS_VOLUME_ID * PAACS_VOLUME_ID
static const WCHAR Certificate[]
LARGE_INTEGER TriggerAddress
struct _AACS_CHALLENGE_KEY AACS_CHALLENGE_KEY
UCHAR PreferredDriveRegionCode
struct _DVD_ASF * PDVD_ASF
LARGE_INTEGER BlockByteOffset
struct _AACS_MEDIA_ID * PAACS_MEDIA_ID
struct _DVD_COPYRIGHT_DESCRIPTOR DVD_COPYRIGHT_DESCRIPTOR
AACS_CHALLENGE_KEY ChallengeKey
struct _AACS_CERTIFICATE AACS_CERTIFICATE
const AACS_SEND_CERTIFICATE CAACS_SEND_CERTIFICATE
const AACS_SEND_CHALLENGE_KEY * PCAACS_SEND_CHALLENGE_KEY
struct _DVD_BCA_DESCRIPTOR * PDVD_BCA_DESCRIPTOR
const AACS_CHALLENGE_KEY CAACS_CHALLENGE_KEY
const AACS_CERTIFICATE CAACS_CERTIFICATE
struct _AACS_READ_BINDING_NONCE * PAACS_READ_BINDING_NONCE
typedef _Field_range_(0, 255) ULONG AACS_LAYER_NUMBER
struct _DVD_SET_RPC_KEY DVD_SET_RPC_KEY
const AACS_MEDIA_ID * PCAACS_MEDIA_ID
UCHAR PrerecordedSerialNumber[16]
UCHAR UserResetsAvailable
const AACS_VOLUME_ID * PCAACS_VOLUME_ID
struct _AACS_CERTIFICATE * PAACS_CERTIFICATE
LARGE_INTEGER TitleOffset
struct _AACS_VOLUME_ID AACS_VOLUME_ID
_Reserved_ PVOID Reserved
AACS_CERTIFICATE Certificate
struct _DVD_DISK_KEY_DESCRIPTOR * PDVD_DISK_KEY_DESCRIPTOR
struct _AACS_SERIAL_NUMBER * PAACS_SERIAL_NUMBER
struct _AACS_CHALLENGE_KEY * PAACS_CHALLENGE_KEY
struct _DVD_RPC_KEY DVD_RPC_KEY
struct _DVD_RPC_KEY * PDVD_RPC_KEY
struct _DVD_REGION DVD_REGION
const AACS_SEND_CERTIFICATE * PCAACS_SEND_CERTIFICATE
struct _AACS_SEND_CERTIFICATE * PAACS_SEND_CERTIFICATE
UCHAR ManufacturerResetsAvailable
enum DVD_STRUCTURE_FORMAT * PDVD_STRUCTURE_FORMAT
struct _DVD_COPY_PROTECT_KEY DVD_COPY_PROTECT_KEY
UCHAR ManufacturingInformation[2048]
const AACS_SERIAL_NUMBER CAACS_SERIAL_NUMBER
struct _DVD_COPYRIGHT_DESCRIPTOR * PDVD_COPYRIGHT_DESCRIPTOR
union _DVD_COPY_PROTECT_KEY::@3105 Parameters
struct _AACS_SEND_CERTIFICATE AACS_SEND_CERTIFICATE
struct DVD_READ_STRUCTURE DVD_READ_STRUCTURE
const AACS_CERTIFICATE * PCAACS_CERTIFICATE
struct _DVD_DESCRIPTOR_HEADER * PDVD_DESCRIPTOR_HEADER
const AACS_VOLUME_ID CAACS_VOLUME_ID
const AACS_SEND_CHALLENGE_KEY CAACS_SEND_CHALLENGE_KEY
const AACS_SERIAL_NUMBER * PCAACS_SERIAL_NUMBER
UCHAR RegionManagementInformation
struct _DVD_LAYER_DESCRIPTOR * PDVD_LAYER_DESCRIPTOR
const AACS_BINDING_NONCE * PCAACS_BINDING_NONCE
struct _DVD_COPY_PROTECT_KEY * PDVD_COPY_PROTECT_KEY
struct _DVD_SET_RPC_KEY * PDVD_SET_RPC_KEY
const AACS_CHALLENGE_KEY * PCAACS_CHALLENGE_KEY
const AACS_BINDING_NONCE CAACS_BINDING_NONCE
struct _STORAGE_SET_READ_AHEAD * PSTORAGE_SET_READ_AHEAD
struct _AACS_SEND_CHALLENGE_KEY AACS_SEND_CHALLENGE_KEY
UCHAR CopyrightProtectionType
DVD_STRUCTURE_FORMAT Format
struct _AACS_MEDIA_ID AACS_MEDIA_ID
const AACS_MEDIA_ID CAACS_MEDIA_ID
struct _AACS_BINDING_NONCE AACS_BINDING_NONCE
struct _DVD_BCA_DESCRIPTOR DVD_BCA_DESCRIPTOR
struct _DVD_MANUFACTURER_DESCRIPTOR DVD_MANUFACTURER_DESCRIPTOR
LARGE_INTEGER TargetAddress
_Field_range_(0, 255) ULONG NumberOfSectors
struct _DVD_REGION * PDVD_REGION
struct _AACS_READ_BINDING_NONCE AACS_READ_BINDING_NONCE
struct _AACS_SEND_CHALLENGE_KEY * PAACS_SEND_CHALLENGE_KEY
struct DVD_READ_STRUCTURE * PDVD_READ_STRUCTURE
struct _AACS_SERIAL_NUMBER AACS_SERIAL_NUMBER