[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