This routine is called by Storport to clear any error conditions that exist on the bus. This first article in the series describes the architecture, flow of control, and key routines to be implemented when developing a virtual miniport. Accessing Resources While it may be obvious to some, our design is going to based upon how we get access to the resource that our virtual adapter is going to be exporting as a local SCSI device. SpecificLuExtensionSize – indicates the size, in bytes, of the virtual adapter’s per logical unit storage area. Please find links to each article in the series here: There are no open issues. Everything Windows Driver Development.

Uploader: Nelar
Date Added: 23 November 2015
File Size: 17.49 Mb
Operating Systems: Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X
Downloads: 34370
Price: Free* [*Free Regsitration Required]

Please feel free to contact your QLogic approved reseller or QLogic Technical Support at any phase of integration for assistance. Minipory Windows automatically installs the driver for the newly-added FC adapter upon startup, without prompting you for a selection for example, Windows Vista installed an Inbox drivergo to the “Updating the Existing Driver” section.

ScsiSetRunningConfig – this operation is requested when Storport wants to restore any settings on a virtual adapter that the miniport storpotr might need to control while the system is running.

You can install the supported driver first, and then upgrade to the new driver. Storport Miniport driver Ask Question. This article starts us on the path of being able to design and implement one. Once that is done, Storport interacts with our miniport exclusively via the routines that we’ve defined in the structure. Unfortunately we haven’t found any documentation to indicate what type of tracing is supported I would assume WPPor how to implement it.


This article is one in a series on writing virtual Storport miniport drivers for Windows. When the SRB is eventually completed by our miniport?

Storport Miniport Drivers

Summary Storport is a welcome relief to storage driver writers wishing to write a miniport for mkniport virtual adapter. A miniport driver’s HwStorAdapterControl routine is called to perform synchronous operations to control the state or behavior of an adapter, such as stopping or restarting the HBA for power management. Do they have to be performed synchronously or asynchronously?

Storport was designed as the high-performance replacement to scsiport. Storport is a welcome relief to storage driver writers wishing to write a miniport for a virtual adapter. For some, there is probably nothing to do, but for others, initialization may entail more work.

DriverEntry DriverEntry, as all driver writers know, is the routine that is called when a driver is first loaded we’ll ignore export drivers at this time. Minipprt have both storport.

It contains an operation code, buffers and parameters that describe the request. When working with Storport, we need to determine when we receive a request and whether or not that request can be processed synchronously or asynchronously. This means that for any SRB we cannot complete immediately, we must have a way of processing it at a later time.

Storport driver miniport routines

HwAdapterControl This routine is called by Storport to perform synchronous operations that control the state or the behavior of the adapter. For more information about the Storport driver, see Storage Port Drivers. There are 2 types of devices, static devices storpory dynamic devices. SpecificLuExtensionSize – storporrt the size, in bytes, of the virtual adapter’s per logical unit storage area.


MaximumNumberOfTargets – this field indicates the maximum number of devices that can be found on a bus. Getting Started with Storport For those of you who have never worked with Storport before let’s go over some basics.

Dma64BitAddresses – this field has no meaning for a virtual Storport miniport. This routine is called after HwStorFindAdapter successfully returns and its purpose is to initialize the miniport and to find all devices that are of interest to it. CachesData – the setting of this field to TRUE indicates that our miniport’s virtual adapter caches data and will cause Storport to notify the miniport when file system cache flushes or shutdowns occur.

Follow these steps to install the driver. Are we performing the operation or are we passing the request to some other entity to perform the operation e.

Storport driver miniport routines – Windows drivers | Microsoft Docs

For example, if the resources that mihiport miniport exports are present at initialization time i. Now that we’ve gotten some of the design issues out in the open, it is time to discuss the driver itself. Our new feedback system is built on GitHub Issues. Since we are implementing a miniport for this virtual adapter, we should set this field to Internal. Sign up or log in Sign up using Google.