ReactOS  0.4.14-dev-606-g14ebc0b
ntddcdvd.h File Reference
#include "ntddstor.h"
#include <pshpack1.h>
#include <poppack.h>
Include dependency graph for ntddcdvd.h:

Go to the source code of this file.

Classes

struct  _STORAGE_SET_READ_AHEAD
 
struct  DVD_READ_STRUCTURE
 
struct  _DVD_DESCRIPTOR_HEADER
 
struct  _DVD_LAYER_DESCRIPTOR
 
struct  _DVD_COPYRIGHT_DESCRIPTOR
 
struct  _DVD_DISK_KEY_DESCRIPTOR
 
struct  _DVD_COPY_PROTECT_KEY
 
struct  _DVD_BCA_DESCRIPTOR
 
struct  _DVD_MANUFACTURER_DESCRIPTOR
 
struct  _DVD_RPC_KEY
 
struct  _DVD_SET_RPC_KEY
 
struct  _DVD_ASF
 
struct  _DVD_REGION
 

Macros

#define IOCTL_DVD_BASE   FILE_DEVICE_DVD
 
#define IOCTL_STORAGE_SET_READ_AHEAD   CTL_CODE(IOCTL_STORAGE_BASE, 0x0100, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_DVD_END_SESSION   CTL_CODE(IOCTL_DVD_BASE, 0x0403, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_DVD_GET_REGION   CTL_CODE(IOCTL_DVD_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_DVD_SEND_KEY2   CTL_CODE(IOCTL_DVD_BASE, 0x0406, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
 
#define IOCTL_DVD_READ_KEY   CTL_CODE(IOCTL_DVD_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_DVD_READ_STRUCTURE   CTL_CODE(IOCTL_DVD_BASE, 0x0450, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_DVD_SEND_KEY   CTL_CODE(IOCTL_DVD_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_DVD_START_SESSION   CTL_CODE(IOCTL_DVD_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define IOCTL_DVD_SET_READ_AHEAD   CTL_CODE(IOCTL_DVD_BASE, 0x0404, METHOD_BUFFERED, FILE_READ_ACCESS)
 
#define DVD_CHALLENGE_KEY_LENGTH   (12 + sizeof(DVD_COPY_PROTECT_KEY))
 
#define DVD_BUS_KEY_LENGTH   (8 + sizeof(DVD_COPY_PROTECT_KEY))
 
#define DVD_TITLE_KEY_LENGTH   (8 + sizeof(DVD_COPY_PROTECT_KEY))
 
#define DVD_DISK_KEY_LENGTH   (2048 + sizeof(DVD_COPY_PROTECT_KEY))
 
#define DVD_RPC_KEY_LENGTH   (sizeof(DVD_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY))
 
#define DVD_SET_RPC_KEY_LENGTH   (sizeof(DVD_SET_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY))
 
#define DVD_ASF_LENGTH   (sizeof(DVD_ASF) + sizeof(DVD_COPY_PROTECT_KEY))
 
#define DVD_END_ALL_SESSIONS   ((DVD_SESSION_ID) 0xffffffff)
 
#define DVD_CGMS_RESERVED_MASK   0x00000078
 
#define DVD_CGMS_COPY_PROTECT_MASK   0x00000018
 
#define DVD_CGMS_COPY_PERMITTED   0x00000000
 
#define DVD_CGMS_COPY_ONCE   0x00000010
 
#define DVD_CGMS_NO_COPY   0x00000018
 
#define DVD_COPYRIGHT_MASK   0x00000040
 
#define DVD_NOT_COPYRIGHTED   0x00000000
 
#define DVD_COPYRIGHTED   0x00000040
 
#define DVD_SECTOR_PROTECT_MASK   0x00000020
 
#define DVD_SECTOR_NOT_PROTECTED   0x00000000
 
#define DVD_SECTOR_PROTECTED   0x00000020
 

Typedefs

typedef ULONG DVD_SESSION_ID
 
typedef ULONGPDVD_SESSION_ID
 
typedef struct _STORAGE_SET_READ_AHEAD STORAGE_SET_READ_AHEAD
 
typedef struct _STORAGE_SET_READ_AHEADPSTORAGE_SET_READ_AHEAD
 
typedef enum DVD_STRUCTURE_FORMAT DVD_STRUCTURE_FORMAT
 
typedef enum DVD_STRUCTURE_FORMATPDVD_STRUCTURE_FORMAT
 
typedef struct DVD_READ_STRUCTURE DVD_READ_STRUCTURE
 
typedef struct DVD_READ_STRUCTUREPDVD_READ_STRUCTURE
 
typedef struct _DVD_DESCRIPTOR_HEADER DVD_DESCRIPTOR_HEADER
 
typedef struct _DVD_DESCRIPTOR_HEADERPDVD_DESCRIPTOR_HEADER
 
typedef struct _DVD_LAYER_DESCRIPTOR DVD_LAYER_DESCRIPTOR
 
typedef struct _DVD_LAYER_DESCRIPTORPDVD_LAYER_DESCRIPTOR
 
typedef struct _DVD_COPYRIGHT_DESCRIPTOR DVD_COPYRIGHT_DESCRIPTOR
 
typedef struct _DVD_COPYRIGHT_DESCRIPTORPDVD_COPYRIGHT_DESCRIPTOR
 
typedef struct _DVD_DISK_KEY_DESCRIPTOR DVD_DISK_KEY_DESCRIPTOR
 
typedef struct _DVD_DISK_KEY_DESCRIPTORPDVD_DISK_KEY_DESCRIPTOR
 
typedef enum _DVD_KEY_TYPE DVD_KEY_TYPE
 
typedef struct _DVD_COPY_PROTECT_KEY DVD_COPY_PROTECT_KEY
 
typedef struct _DVD_COPY_PROTECT_KEYPDVD_COPY_PROTECT_KEY
 
typedef struct _DVD_BCA_DESCRIPTOR DVD_BCA_DESCRIPTOR
 
typedef struct _DVD_BCA_DESCRIPTORPDVD_BCA_DESCRIPTOR
 
typedef struct _DVD_MANUFACTURER_DESCRIPTOR DVD_MANUFACTURER_DESCRIPTOR
 
typedef struct _DVD_MANUFACTURER_DESCRIPTORPDVD_MANUFACTURER_DESCRIPTOR
 
typedef struct _DVD_RPC_KEY DVD_RPC_KEY
 
typedef struct _DVD_RPC_KEYPDVD_RPC_KEY
 
typedef struct _DVD_SET_RPC_KEY DVD_SET_RPC_KEY
 
typedef struct _DVD_SET_RPC_KEYPDVD_SET_RPC_KEY
 
typedef struct _DVD_ASF DVD_ASF
 
typedef struct _DVD_ASFPDVD_ASF
 
typedef struct _DVD_REGION DVD_REGION
 
typedef struct _DVD_REGIONPDVD_REGION
 

Enumerations

enum  DVD_STRUCTURE_FORMAT {
  DvdPhysicalDescriptor, DvdCopyrightDescriptor, DvdDiskKeyDescriptor, DvdBCADescriptor,
  DvdManufacturerDescriptor, DvdMaxDescriptor
}
 
enum  _DVD_KEY_TYPE {
  DvdChallengeKey = 0x01, DvdBusKey1, DvdBusKey2, DvdTitleKey,
  DvdAsf, DvdSetRpcKey = 0x6, DvdGetRpcKey = 0x8, DvdDiskKey = 0x80,
  DvdInvalidateAGID = 0x3f
}
 

Macro Definition Documentation

◆ DVD_ASF_LENGTH

#define DVD_ASF_LENGTH   (sizeof(DVD_ASF) + sizeof(DVD_COPY_PROTECT_KEY))

Definition at line 154 of file ntddcdvd.h.

◆ DVD_BUS_KEY_LENGTH

#define DVD_BUS_KEY_LENGTH   (8 + sizeof(DVD_COPY_PROTECT_KEY))

Definition at line 149 of file ntddcdvd.h.

◆ DVD_CGMS_COPY_ONCE

#define DVD_CGMS_COPY_ONCE   0x00000010

Definition at line 163 of file ntddcdvd.h.

◆ DVD_CGMS_COPY_PERMITTED

#define DVD_CGMS_COPY_PERMITTED   0x00000000

Definition at line 162 of file ntddcdvd.h.

◆ DVD_CGMS_COPY_PROTECT_MASK

#define DVD_CGMS_COPY_PROTECT_MASK   0x00000018

Definition at line 161 of file ntddcdvd.h.

◆ DVD_CGMS_NO_COPY

#define DVD_CGMS_NO_COPY   0x00000018

Definition at line 164 of file ntddcdvd.h.

◆ DVD_CGMS_RESERVED_MASK

#define DVD_CGMS_RESERVED_MASK   0x00000078

Definition at line 159 of file ntddcdvd.h.

◆ DVD_CHALLENGE_KEY_LENGTH

#define DVD_CHALLENGE_KEY_LENGTH   (12 + sizeof(DVD_COPY_PROTECT_KEY))

Definition at line 148 of file ntddcdvd.h.

◆ DVD_COPYRIGHT_MASK

#define DVD_COPYRIGHT_MASK   0x00000040

Definition at line 166 of file ntddcdvd.h.

◆ DVD_COPYRIGHTED

#define DVD_COPYRIGHTED   0x00000040

Definition at line 168 of file ntddcdvd.h.

◆ DVD_DISK_KEY_LENGTH

#define DVD_DISK_KEY_LENGTH   (2048 + sizeof(DVD_COPY_PROTECT_KEY))

Definition at line 151 of file ntddcdvd.h.

◆ DVD_END_ALL_SESSIONS

#define DVD_END_ALL_SESSIONS   ((DVD_SESSION_ID) 0xffffffff)

Definition at line 156 of file ntddcdvd.h.

◆ DVD_NOT_COPYRIGHTED

#define DVD_NOT_COPYRIGHTED   0x00000000

Definition at line 167 of file ntddcdvd.h.

◆ DVD_RPC_KEY_LENGTH

#define DVD_RPC_KEY_LENGTH   (sizeof(DVD_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY))

Definition at line 152 of file ntddcdvd.h.

◆ DVD_SECTOR_NOT_PROTECTED

#define DVD_SECTOR_NOT_PROTECTED   0x00000000

Definition at line 171 of file ntddcdvd.h.

◆ DVD_SECTOR_PROTECT_MASK

#define DVD_SECTOR_PROTECT_MASK   0x00000020

Definition at line 170 of file ntddcdvd.h.

◆ DVD_SECTOR_PROTECTED

#define DVD_SECTOR_PROTECTED   0x00000020

Definition at line 172 of file ntddcdvd.h.

◆ DVD_SET_RPC_KEY_LENGTH

#define DVD_SET_RPC_KEY_LENGTH   (sizeof(DVD_SET_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY))

Definition at line 153 of file ntddcdvd.h.

◆ DVD_TITLE_KEY_LENGTH

#define DVD_TITLE_KEY_LENGTH   (8 + sizeof(DVD_COPY_PROTECT_KEY))

Definition at line 150 of file ntddcdvd.h.

◆ IOCTL_DVD_BASE

#define IOCTL_DVD_BASE   FILE_DEVICE_DVD

Definition at line 32 of file ntddcdvd.h.

◆ IOCTL_DVD_END_SESSION

#define IOCTL_DVD_END_SESSION   CTL_CODE(IOCTL_DVD_BASE, 0x0403, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 37 of file ntddcdvd.h.

◆ IOCTL_DVD_GET_REGION

#define IOCTL_DVD_GET_REGION   CTL_CODE(IOCTL_DVD_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 40 of file ntddcdvd.h.

◆ IOCTL_DVD_READ_KEY

#define IOCTL_DVD_READ_KEY   CTL_CODE(IOCTL_DVD_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 46 of file ntddcdvd.h.

◆ IOCTL_DVD_READ_STRUCTURE

#define IOCTL_DVD_READ_STRUCTURE   CTL_CODE(IOCTL_DVD_BASE, 0x0450, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 49 of file ntddcdvd.h.

◆ IOCTL_DVD_SEND_KEY

#define IOCTL_DVD_SEND_KEY   CTL_CODE(IOCTL_DVD_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 52 of file ntddcdvd.h.

◆ IOCTL_DVD_SEND_KEY2

#define IOCTL_DVD_SEND_KEY2   CTL_CODE(IOCTL_DVD_BASE, 0x0406, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)

Definition at line 43 of file ntddcdvd.h.

◆ IOCTL_DVD_SET_READ_AHEAD

#define IOCTL_DVD_SET_READ_AHEAD   CTL_CODE(IOCTL_DVD_BASE, 0x0404, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 58 of file ntddcdvd.h.

◆ IOCTL_DVD_START_SESSION

#define IOCTL_DVD_START_SESSION   CTL_CODE(IOCTL_DVD_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 55 of file ntddcdvd.h.

◆ IOCTL_STORAGE_SET_READ_AHEAD

#define IOCTL_STORAGE_SET_READ_AHEAD   CTL_CODE(IOCTL_STORAGE_BASE, 0x0100, METHOD_BUFFERED, FILE_READ_ACCESS)

Definition at line 34 of file ntddcdvd.h.

Typedef Documentation

◆ DVD_ASF

◆ DVD_BCA_DESCRIPTOR

◆ DVD_COPY_PROTECT_KEY

◆ DVD_COPYRIGHT_DESCRIPTOR

◆ DVD_DESCRIPTOR_HEADER

◆ DVD_DISK_KEY_DESCRIPTOR

◆ DVD_KEY_TYPE

◆ DVD_LAYER_DESCRIPTOR

◆ DVD_MANUFACTURER_DESCRIPTOR

◆ DVD_READ_STRUCTURE

◆ DVD_REGION

◆ DVD_RPC_KEY

◆ DVD_SESSION_ID

Definition at line 62 of file ntddcdvd.h.

◆ DVD_SET_RPC_KEY

◆ DVD_STRUCTURE_FORMAT

◆ PDVD_ASF

◆ PDVD_BCA_DESCRIPTOR

◆ PDVD_COPY_PROTECT_KEY

◆ PDVD_COPYRIGHT_DESCRIPTOR

◆ PDVD_DESCRIPTOR_HEADER

◆ PDVD_DISK_KEY_DESCRIPTOR

◆ PDVD_LAYER_DESCRIPTOR

◆ PDVD_MANUFACTURER_DESCRIPTOR

◆ PDVD_READ_STRUCTURE

◆ PDVD_REGION

◆ PDVD_RPC_KEY

◆ PDVD_SESSION_ID

Definition at line 62 of file ntddcdvd.h.

◆ PDVD_SET_RPC_KEY

◆ PDVD_STRUCTURE_FORMAT

◆ PSTORAGE_SET_READ_AHEAD

◆ STORAGE_SET_READ_AHEAD

Enumeration Type Documentation

◆ _DVD_KEY_TYPE

Enumerator
DvdChallengeKey 
DvdBusKey1 
DvdBusKey2 
DvdTitleKey 
DvdAsf 
DvdSetRpcKey 
DvdGetRpcKey 
DvdDiskKey 
DvdInvalidateAGID 

Definition at line 124 of file ntddcdvd.h.

124  {
125  DvdChallengeKey = 0x01,
126  DvdBusKey1,
127  DvdBusKey2,
128  DvdTitleKey,
129  DvdAsf,
130  DvdSetRpcKey = 0x6,
131  DvdGetRpcKey = 0x8,
132  DvdDiskKey = 0x80,
133  DvdInvalidateAGID = 0x3f
134 } DVD_KEY_TYPE;
DVD_KEY_TYPE
Definition: ntddcdvd.h:38

◆ DVD_STRUCTURE_FORMAT

Enumerator
DvdPhysicalDescriptor 
DvdCopyrightDescriptor 
DvdDiskKeyDescriptor 
DvdBCADescriptor 
DvdManufacturerDescriptor 
DvdMaxDescriptor 

Definition at line 69 of file ntddcdvd.h.