1 #define IOCTL_VCDROM_BASE 0x2 2 #define IOCTL_VCDROM_CREATE_DRIVE CTL_CODE(IOCTL_VCDROM_BASE, 0xCC0, METHOD_BUFFERED, FILE_ANY_ACCESS) 3 #define IOCTL_VCDROM_DELETE_DRIVE CTL_CODE(IOCTL_VCDROM_BASE, 0xCC1, METHOD_BUFFERED, FILE_ANY_ACCESS) 4 #define IOCTL_VCDROM_MOUNT_IMAGE CTL_CODE(IOCTL_VCDROM_BASE, 0xCC2, METHOD_BUFFERED, FILE_ANY_ACCESS) 5 #define IOCTL_VCDROM_ENUMERATE_DRIVES CTL_CODE(IOCTL_VCDROM_BASE, 0xCC3, METHOD_BUFFERED, FILE_ANY_ACCESS) 6 #define IOCTL_VCDROM_GET_IMAGE_PATH CTL_CODE(IOCTL_VCDROM_BASE, 0xCC4, METHOD_BUFFERED, FILE_ANY_ACCESS) 7 8 typedef struct _MOUNT_PARAMETERS 9 { 10 WCHAR Path[255]; 11 USHORT Length; 12 ULONG Flags; 13 } MOUNT_PARAMETERS, *PMOUNT_PARAMETERS; 14 15 #define MOUNT_FLAG_SUPP_UDF 0x1 16 #define MOUNT_FLAG_SUPP_JOLIET 0x2 17 18 typedef struct _DRIVES_LIST 19 { 20 USHORT Count; 21 WCHAR Drives[26]; 22 } DRIVES_LIST, *PDRIVES_LIST; 23 24 typedef struct _IMAGE_PATH 25 { 26 WCHAR Path[255]; 27 USHORT Length; 28 USHORT Mounted; 29 } IMAGE_PATH, *PIMAGE_PATH; 30