Help and Support
 

powered byLive Search
Hotfix Download Available

An update enables support for Storport virtual miniports in Windows Server 2003

Article ID:943295
Last Review:December 5, 2007
Revision:2.3
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

Back to the top

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.

Back to the top

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.

Back to the top

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;

Back to the top

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.

Back to the top

Update information

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

Windows Server 2003, x86-based versions

DownloadDownload 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

DownloadDownload 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

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

A supported feature that modifies the default behavior of the product is available from Microsoft. However, this feature is intended to modify only the behavior that this article describes. Apply this feature only to systems that specifically require it. This feature might receive additional testing. Therefore, if the system is not severely affected by the lack of this feature, we recommend that you wait for the next software update that contains this feature.

If the feature is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the feature.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific feature. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Note The "Hotfix download available" form displays the languages for which the feature is available. If you do not see your language, it is because the feature is not available for that language.

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
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
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
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

Back to the top

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

Back to the top


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

Back to the top

Keywords: 
kbautohotfix kbwinserv2003postsp2fix kbexpertiseinter kbhotfixserver kbqfe kbpubtypekc KB943295

Back to the top

Article Translations

 

Related Support Centers

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.