BUG: Win95: ScsiPortGetDeviceBase Does Not Return Linear AddressID: Q169584
|
Under Windows 95, when ScsiPortGetDeviceBase is called to obtain the address of memory window, an Invalid Page Fault or General Protection Fault may occur when this address is accessed via ScsiPortReadRegisterxxx or ScsiPortWriteRegisterxxx.
Under Windows 95, ScsiPortGetDeviceBase returns a memory address as a physical address not a linear address. Accessing this address as a linear address may result in Invalid Page Faults or General Protection Faults if the linear address and physical address are not the same. This condition is typically true if the physical address is above 1MB.
To work around this problem, use the VMM function _MapPhysToLinear to map the returned physical address to its linear address.
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.
This problem would not typically be seen with legacy devices for two
reasons:
Additional query words: diskmem win95
Keywords : ntddkstorage
Version : 4.0
Platform : Win95
Issue type : kbbug
Last Reviewed: March 4, 1999