You experience problems when you use the Microsoft Storport storage driver for host bus adapter removable storage on a computer that is running Windows Server 2003 (916048)
The information in this article applies to:
- Microsoft Windows Server 2003, Datacenter Edition for Itanium-based Systems
- Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
- Microsoft Windows Server 2003, Datacenter x64 Edition
- Microsoft Windows Server 2003, Enterprise x64 Edition
- Microsoft Windows Server 2003, Standard x64 Edition
- Microsoft Windows Server 2003, Datacenter Edition
- Microsoft Windows Server 2003, Enterprise Edition
- Microsoft Windows Server 2003, Standard Edition
SYMPTOMS
When you use the Microsoft Storport storage driver for host bus adapter (HBA) removable storage, you may experience one or more of the following symptoms:
-
You cannot use a third-party driver to configure the storage device. This problem occurs because the operating system does not let the IOCTL_SCSI_GET_ADDRESS function run when the AddDevice routine is running.
- There is no shutdown notification for a third-party Miniport driver so that the driver can complete all I/O operations before the shutdown occurs.
- The boot enumeration flag is not set so that enumeration INQUIRY commands are not resent after startup for slower hardware.
-
The Storport miniport driver incorrectly links to standard C runtime libraries. Instead, the driver should link to the Storport.lib file. the Storport.lib file exports the memory manipulation functions that the miniport uses. However, the Storport.lib file does not export some of these functions. For example, the Storport.lib file does not export the memcmp function or the memcpy function. Therefore, the miniport driver must link to the Libcntpr.lib file. This update resolves this problem by exporting these functions. This specific fix is intended only for miniport developers.
- When you use a program to import a snapshot image that was created by using the Volume Shadow Copy Service (VSS), a memory leak occurs. Specifically, a handle to the following registry subkey is leaked in the PortMapBuildLunEntry procedure of the SYSTEM process:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port <w>\Scsi Bus <x>\Target Id <y>\Logical Unit Id <z>
Note In this registry subkey, w, x, y, and z are the respective identifiers for the Port, the Bus, the Target ID, and the Unit ID of the device. - There is no support for some revised SCSI specifications. These SCSI specifications pertain to the Inquiry command that is used to obtain VPD Page 83 device identification information.
- The Storport driver ignores the status that is returned from a function that, in turn, returns the device state. If a device is deleted, the Storport driver may continue to process additional requests to that device. Because the return value is ignored, Storport processes the command for a device that is deleted.
Therefore, a Stop error may occur.
- After you install the latest version of Storport.Sys, you receive a 0xd1 DRIVER_IRQL_NOT_LESS_OR_EQUAL Stop error message.
- Debug trace functionality has been reenabled. Debug trace functionality was removed in a previous Storport update.
- The Storport driver uses the device descriptor in VPD page 0x83 to determine whether a device is unique. However, a device that is not ready may return descriptors that are not valid. The device may return spaces or zeros. When this issue occurs, the Storport driver may verify that a device has changed. Therefore, the device is removed and then added again. In this scenario, data corruption or a Stop error may occur. When this update is installed, the Storport driver will ignore any descriptor that contains a space or a zero.
- If the miniport requests a callback on a computer that is running an Itanium-based version of Microsoft Windows Server 2003, the callback may occur during system shutdown. In this situation, a 0x9C MACHINE_CHECK_EXCEPTION Stop error may occur.
RESOLUTIONUpdate information
The following file is available for download from the Microsoft Download Center: Update for Windows Server 2003 (KB916048): Download the WindowsServer2003-KB916048-x86-ENU.exe package now.Update for Windows Server 2003 for Itanium-based Systems (KB916048): Download the WindowsServer2003-KB916048-ia64-ENU.exe package now.Update for Windows Server 2003 x64 Edition (KB916048): Download the WindowsServer2003.WindowsXP-KB916048-x64-ENU.exe package now.Prerequisites
You must be running one of the following operating systems to install this update:
- Versions of Windows Server 2003 that have Service Pack 1 (SP1) installed
- Itanium-based versions of Windows Server 2003 that have SP1 installed
- x64-based versions of Windows
Restart requirement You must restart your computer after you apply this hotfix.
Hotfix replacement information This hotfix replaces hotfix 912944, but applies only to Windows Server 2003 SP1 or x64-based versions of Windows Server 2003.
File information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel. Windows Server 2003, x86-based versions|
Storport.sys | 5.2.3790.2723 | 100,352 | 13-Jun-2006 | 10:25 | x86 |
Windows, x64-based versions|
Storport.sys | 5.2.3790.2723 | 173,056 | 13-Jun-2006 | 13:08 | x64 |
Windows Server 2003, Itanium-based versions|
Storport.sys | 5.2.3790.2723 | 321,024 | 13-Jun-2006 | 13:08 | IA-64 |
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
Modification Type: | Minor | Last Reviewed: | 10/5/2006 |
---|
Keywords: | kbWinServ2003preSP2fix kbHotfixServer kbQFE kbExpertiseInter KB916048 kbAudITPRO |
---|
|