[Bug 21448] RollerCoaster Tycoon 3 does not accept the original disc

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Feb 19 02:58:09 CST 2010


http://bugs.winehq.org/show_bug.cgi?id=21448





--- Comment #5 from Thomas Mertes <thomas.mertes at 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.



More information about the wine-bugs mailing list