⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvdcom.h

📁 wince host 和 target PCI驱动程序
💻 H
字号:
#ifndef DVDCOM_H_
#define DVDCOM_H_

#undef WIN95ONLY

//***Ring 3 talk through this DEVCTRL in WIN95ONLY mode
#ifdef WIN95ONLY
#define IDEVXD_VERSION 								1
#define IDEVXD_GETPHYSFROMLINEAR					2
#define IDEVXD_MAPANDGETLINEARFROMPHYSICAL	3
#define IDEVXD_SENDIDECOMMAND						4
#define IDEVXD_READIDEBUFFER						5
#define IDEVXD_GETDVDDRIVESTATUS					6
#define IDEVXD_ISDRIVEOPEN                   7
#else	//WIN95ONLY Else the unify version of kernel drivers

#define FILE_DEVICE_IDECTRL			0x00008111
#define IDECTRL_IOCTL_INDEX			0x00000811

#define IDEVXD_VERSION 								CTL_CODE(FILE_DEVICE_IDECTRL,\
																		IDECTRL_IOCTL_INDEX,\
																		METHOD_BUFFERED,	  \
																		FILE_ANY_ACCESS)
#define IDEVXD_GETPHYSFROMLINEAR					CTL_CODE(FILE_DEVICE_IDECTRL,	 \
																		IDECTRL_IOCTL_INDEX+1,\
																		METHOD_BUFFERED,		 \
																		FILE_ANY_ACCESS)
#define IDEVXD_MAPANDGETLINEARFROMPHYSICAL	CTL_CODE(FILE_DEVICE_IDECTRL,	 \
																		IDECTRL_IOCTL_INDEX+2,\
																		METHOD_BUFFERED,		 \
																		FILE_ANY_ACCESS)
#define IDEVXD_SENDIDECOMMAND						CTL_CODE(FILE_DEVICE_IDECTRL,	 \
																		IDECTRL_IOCTL_INDEX+3,\
																		METHOD_BUFFERED,		 \
																		FILE_ANY_ACCESS)
#define IDEVXD_READIDEBUFFER						CTL_CODE(FILE_DEVICE_IDECTRL,	 \
																		IDECTRL_IOCTL_INDEX+4,\
																		METHOD_BUFFERED,		 \
																		FILE_ANY_ACCESS)
#define IDEVXD_GETDVDDRIVESTATUS					CTL_CODE(FILE_DEVICE_IDECTRL,	 \
																		IDECTRL_IOCTL_INDEX+5,\
																		METHOD_BUFFERED,		 \
																		FILE_ANY_ACCESS)
#define IDEVXD_ISDRIVEOPEN							CTL_CODE(FILE_DEVICE_IDECTRL,	 \
																		IDECTRL_IOCTL_INDEX+6,\
																		METHOD_BUFFERED,		 \
																		FILE_ANY_ACCESS)

#define IDEVXD_MAPUSERTOPHYS						CTL_CODE(FILE_DEVICE_IDECTRL,	 \
																		IDECTRL_IOCTL_INDEX+7,\
																		METHOD_BUFFERED,		 \
																		FILE_ANY_ACCESS)
#endif	//WIN95ONLY


//***Error Codes
#define ERR_UNSUPPORTED_DVD_DRIVE	0x00000001
#define ERR_NO_DVDROM_DRIVE			0x00000002
#define ERR_NO_DVD_DISK					0x00000004
#define ERR_DVD_DRIVE_OPEN				0x00000008
#define ERR_NO_KERNEL_DRIVER			0x00000010
#define ERR_UNKNOWN						0x00000020

//***This is for the release version of 1.00 that supported Creative Drive 
//***and Hitachi Drive.  Note the upper define is for older software that
//***using the software authentication.
#define		ERROR_NONE 					0x0
#define		ERROR_NOAUTHREQUIRE 		0x1
#define		ERROR_NODVDDISK			0x2
#define		ERROR_DRIVEOPEN			0x4
#define		ERROR_UNSUPPORTED_DRIVE	0x8
#define		ERROR_NO_KERNEL_DRIVER	0x10
#define		ERROR_UNKNOWN				0x80


typedef struct tagSENDDEVICEBUFFER
{
	unsigned short *pwCommandBuffer;	//***Always 6 words length
	unsigned short *pwDataBuffer;		//***Variable length
	unsigned long dwDataBufferSize;	//***Data Buffer size in words
	unsigned long dwReserved;			
}SENDDEVICEBUFFER, *PSENDDEVICEBUFFER;

typedef struct tagREADDEVICEBUFFER
{
	unsigned short *pwDataBuffer;
	unsigned long dwDataBufferSize;
	unsigned long dwReserved;
}READDEVICEBUFFER, *PREADDEVICEBUFFER;

typedef struct tagAUTHSTR
{
	unsigned char	EDK[5];
	unsigned char	ERDK[5];
	unsigned char	TK[5];
	unsigned long	dwErrorCode;
}AUTHSTR, *PAUTHSTR;

#endif	//DVDCOM_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -