DetailPage-MSS-KB

Microsoft small business knowledge base

Article ID: 943295 - Last Review: October 8, 2011 - Revision: 4.0

On This Page

INTRODUCTION

The Storport driver now supports virtual miniports in Windows Server 2003 Service Pack 1 (SP1) and in later versions. An update is now available to enable this new feature.

Microsoft has defined the Storport Virtual Miniport (VMiniport) driver to extend the functionality of the Storport interfaces. Unlike physical miniports, virtual miniports can call Windows Driver Model (WDM) routines according to the WDM guidelines.

After you apply this update, miniports will no longer rely on the Storport driver to handle memory and to perform synchronization. Additionally, miniports will be able to handle I/O requests in new ways. These programming changes are targeted at technologies that include but that are not limited to the following:
  • iSCSI
  • Infiniband
  • Other non-standard storage interfaces that may appear in the future

MORE INFORMATION

Initialization of Storport Virtual Miniport drivers

The Storport Virtual Miniport driver has three stages of initialization. In the first stage, a miniport calls the StorPortInitialize routine by pointing to a VIRTUAL_HW_INITIALIZATION_DATA structure.

Storport Virtual Miniport routines

Storport Virtual Miniport drivers and Storport physical miniport drivers are equivalent in many ways. A physical miniport uses a physical host bus adapter (HBA). A virtual miniport differs from a physical miniport primarily in that the virtual miniport tells the Storport driver to assume that the miniport controls no hardware. In this case, the Storport driver does not obtain a direct memory access (DMA) object. Therefore, the Storport driver does not obtain an interrupt object, an interrupt lock, or non-cached storage.

Another obvious difference is that a virtual miniport can use all APIs that are documented in the Microsoft Windows Driver Kit (WDK). A physical miniport is expected to use only Storport APIs. However, a virtual miniport may also use other APIs. For example, a virtual miniport may also use the APIs that the system kernel provides, assuming the virtual miniport complies with the restrictions that apply to WDM drivers.

For more information about Storport support routines, visit the following Microsoft Developer Network Web site:
http://msdn2.microsoft.com/en-us/library/ms807277.aspx (http://msdn2.microsoft.com/en-us/library/ms807277.aspx)
For information about other kernel APIs, see the description of the relevant APIs in the WDK.

Storport Virtual Miniport driver structures

The VIRTUAL_HW_INITIALIZATION_DATA structure contains information that is specific to each virtual miniport driver. This structure is defined as follows:
typedef struct _VIRTUAL_HW_INITIALIZATION_DATA {
  ULONG HwInitializationDataSize;
  INTERFACE_TYPE AdapterInterfaceType;
  PHW_INITIALIZE HwInitialize;
  PHW_STARTIO HwStartIo;
  PHW_INTERRUPT HwInterrupt;
  PVIRTUL_HW_FIND_ADAPTER HwFindAdapter;
  PHW_RESET_BUS HwResetBus;
  PHW_DMA_STARTED HwDmaStarted;
  PHW_ADAPTER_STATE HwAdapterState;
  ULONG DeviceExtensionSize;
  ULONG SpecificLuExtensionSize;
  ULONG SrbExtensionSize;
  ULONG NumberOfAccessRanges;
  PVOID Reserved;
  UCHAR MapBuffers;
  BOOLEAN NeedPhysicalAddresses;
  BOOLEAN TaggedQueuing;
  BOOLEAN AutoRequestSense;
  BOOLEAN MultipleRequestPerLu;
  BOOLEAN ReceiveEvent;
  USHORT VendorIdLength;
  PVOID VendorId;
  union {
    USHORT ReservedUshort;
    USHORT PortVersionFlags;
  };
  USHORT DeviceIdLength;
  PVOID DeviceId;
  PHW_ADAPTER_CONTROL HwAdapterControl;
  PHW_BUILDIO HwBuildIo;
  PHW_FREE_ADAPTER_RESOURCES HwFreeAdapterResources;
  PHW_PROCESS_SERVICE_REQUEST HwProcessServiceRequest;
  PHW_COMPLETE_SERVICE_IRP HwCompleteServiceIrp;
  PHW_INITIALIZE_TRACING HwInitializeTracing;
  PHW_CLEANUP_TRACING HwCleanupTracing;
} VIRTUAL_HW_INITIALIZATION_DATA, *PVIRTUAL_HW_INITIALIZATION_DATA;

Virtual miniport I/O control codes

Virtual miniport clients use the IOCTL_MINIPORT_PROCESS_SERVICE_IRP I/O control code to communicate with a virtual miniport.

Update information

The following files are available for download from the Microsoft Download Center:

Windows Server 2003, x86-based versions

Collapse this imageExpand this image
Download
Download the Windows Server 2003, x86-based package now. (http://www.microsoft.com/downloads/details.aspx?FamilyId=06477C34-6DCD-491A-8520-16AD457B3F55)

Windows Server 2003, Itanium-based versions

Collapse this imageExpand this image
Download
Download the Windows Server 2003, Itanium-based package now. (http://www.microsoft.com/downloads/details.aspx?FamilyId=1835D54D-BEE6-4FC7-A735-3A04A68F6B0B)

Windows Server 2003, x64-based versions

Collapse this imageExpand this image
Download
Download the Windows Server 2003, x64-based package now. (http://www.microsoft.com/downloads/details.aspx?FamilyID=4904b19e-7f53-4b16-9899-7fa2fa2cceac&displaylang=en)

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591  (http://support.microsoft.com/kb/119591/ ) How to obtain Microsoft support files from online services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

Prerequisites

To apply this update, you must have Windows Server 2003 SP1 or Windows Server 2003 Service Pack 2 (SP2) installed. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
889100  (http://support.microsoft.com/kb/889100/ ) How to obtain the latest service pack for Windows Server 2003

Restart requirement

You must restart the computer after you apply this update.

Update replacement information

This update does not replace any other updates.

File information

The English version of this update 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
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformSP requirementService branch
Diskdump.sys5.2.3790.301918,94404-Oct-200718:52x86SP1SP1QFE
Storport.sys5.2.3790.3019108,03204-Oct-200718:52x86SP1SP1QFE
Diskdump.sys5.2.3790.416318,94404-Oct-200712:35x86SP2SP2GDR
Storport.sys5.2.3790.4163108,03204-Oct-200712:35x86SP2SP2GDR
Diskdump.sys5.2.3790.416318,94404-Oct-200715:39x86SP2SP2QFE
Storport.sys5.2.3790.4163108,03204-Oct-200715:39x86SP2SP2QFE
Windows Server 2003, Itanium-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformSP requirementService branch
Diskdump.sys5.2.3790.301949,66405-Oct-200715:05IA-64SP1SP1QFE
Storport.sys5.2.3790.3019347,13605-Oct-200715:05IA-64SP1SP1QFE
Diskdump.sys5.2.3790.416349,66405-Oct-200715:15IA-64SP2SP2GDR
Storport.sys5.2.3790.4163347,13605-Oct-200715:15IA-64SP2SP2GDR
Diskdump.sys5.2.3790.416349,66405-Oct-200715:05IA-64SP2SP2QFE
Storport.sys5.2.3790.4163347,13605-Oct-200715:05IA-64SP2SP2QFE
Windows Server 2003, x64-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatformSP requirementService branch
Diskdump.sys5.2.3790.301924,06405-Oct-200715:04x64SP1SP1QFE
Storport.sys5.2.3790.3019188,41605-Oct-200715:04x64SP1SP1QFE
Diskdump.sys5.2.3790.416324,06405-Oct-200715:14x64SP2SP2GDR
Storport.sys5.2.3790.4163188,92805-Oct-200715:14x64SP2SP2GDR
Diskdump.sys5.2.3790.416324,06405-Oct-200715:05x64SP2SP2QFE
Storport.sys5.2.3790.4163188,92805-Oct-200715:05x64SP2SP2QFE

REFERENCES

For more information about Storport Virtual Miniport development, see the Storport Virtual Miniport Developers documentation in the Microsoft Windows Development Kit or on the Microsoft Developer Network Web site. Or, contact a Microsoft support professional. For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Description of the standard terminology that is used to describe Microsoft software updates

APPLIES TO
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
Keywords: 
atdownload kbwinserv2003postsp2fix kbexpertiseinter kbqfe KB943295
Share
Additional support options
Ask The Microsoft Small Business Support Community
Contact Microsoft Small Business Support
Find Microsoft Small Business Support Certified Partner
Find a Microsoft Store For In-Person Small Business Support