http://bugs.winehq.org/show_bug.cgi?id=21448 --- Comment #5 from Thomas Mertes <thomas.mertes(a)gmx.at> 2010-02-19 02:58:04 --- I added "case IOCTL_STORAGE_QUERY_PROPERTY:" (with some code) to the function CDROM_DeviceIoControl() in the file "wine/dlls/ntdll/cdrom.c". The IOCTL_STORAGE_QUERY_PROPERTY request uses the structure typedef struct _STORAGE_PROPERTY_QUERY { STORAGE_PROPERTY_ID PropertyId; STORAGE_QUERY_TYPE QueryType; UCHAR AdditionalParameters[1]; } STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY; I found out that the request used for RollerCoaster Tycoon 3 uses PropertyId=0 (which means StorageDeviceProperty) and QueryType=0 (which means PropertyStandardQuery). Doing a IOCTL_STORAGE_QUERY_PROPERTY / StorageDeviceProperty should fill the following structure with information: typedef struct _STORAGE_DEVICE_DESCRIPTOR { ULONG Version; ULONG Size; UCHAR DeviceType; UCHAR DeviceTypeModifier; BOOLEAN RemovableMedia; BOOLEAN CommandQueueing; ULONG VendorIdOffset; ULONG ProductIdOffset; ULONG ProductRevisionOffset; ULONG SerialNumberOffset; STORAGE_BUS_TYPE BusType; ULONG RawPropertiesLength; UCHAR RawDeviceProperties[1]; } STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR; Tests with such a request under windows show that the data returned comes from the cdrom drive and is independent from a cdrom which may or may not be in the drive. What remains open is: How to get this information under Linux? Greetings Thomas -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.