Miniport Source Code
  Home

 

  Bus Hound

 

Miniport Code

 

  Engineer Docs

 

  Contact us

 

  About us

 

   
Are you developing a device driver for a storage adapter or virtual device?
 

We offer precision source code to four miniport device driver samples to jump start your development putting you close to the finish line right from the start.

Each sample offers the following features:

  • Source code for a single, self contained device driver that needs no hardware backend to run and thus can be installed on any system
  • Creates a virtual disk drive that is assigned a driver letter and works exactly like a real disk drive
  • Full SPC-4 command set compliance
  • Passes ScsiComplianceTest in the Windows Logo Kit (WLK).
  • Supports dynamic load and unload, 32-bit and 64-bit Windows and Itanium
  • Can be easily installed programmatically or using the Add Hardware wizard
  • Sign or logo your driver
  • Verifier clean, lint clean, signed, and tuned with absolute precision

 

Sample Name: StorFile and MiniFile StorRam and MiniRam
Use for: virtual devices hardware adapters
Driver Type: StorFile is a virtual storport miniport
MiniFile is a virtual SCSI miniport
StorRam is a storport miniport
MiniRam is a SCSI miniport
Example Device: file mounted as a disk drive ramdisk
Windows Versions Supported: StorFile supports Windows 7, Vista, 2003, 2008. MiniFile supports these plus Windows 2000 and XP StorRam supports Windows 7, Vista, 2003, 2008. MiniRam supports these plus Windows 2000 and XP
Key Features: Perfect for virtual DVD drives, software RAID, devices with a network backend, or other virtual devices.

Your device code runs at PASSIVE_LEVEL making it ideal to call any WDK functions.

Requests can be completed with high performance outside of miniport context.

Provisions for overlapped request queuing and fast, asynchronous back ends.

Kernel level code to read and write a disk file using asynchronous file I/O.

Does not claim hardware resources.

Dual threaded design for optimum performance on multi-core.

StorFile uses the latest Microsoft VMiniport architecture found in Windows 7, 2008, Vista SP1, and a Windows 2003 hot fix. The code utilizes HwStorProcessServiceRequest, StorPortCompleteServiceIrp, and IOCTL_MINIPORT_PROCESS_SERVICE_IRP

StorRam uses the new storport architecture for achieving the highest possible performance. It can also be used to test storport functionality without needing the hardware.

MiniRam is the ideal choice for adapters without scatter gather such as PCMCIA. MiniRam can also be used to cover the entire range of Windows versions with a single source.

Ideal for IDE, SATA, SCSI, Fibre Channel, Sas, and others.

StorRam includes WMI. The first data block allows the device inquiry data to be changed dynamically. The second data block allows the miniport to send events asynchronously.

The "hello world" of miniports; a simple skeleton ready to be filled in with your code. Learn how simple miniports should be.

Try it: Download MiniFile
Download StorFile
Download MiniRam
Download StorRam
Price (USD): $6000 $3000
 

FAQ:

Which sample is right for me?

Just answer a few simple questions in our Miniport Selector Guide to find out which sample and why.

How long does it take to get?

The source is delivered electronically. You will be able to download and start using the source code instantly after entering your order. Online ordering is safe and secure by credit card. If you prefer, we accept purchase orders.

What comes with each sample?

You get the carefully articulated and well documented source code which can be built using the Windows WDK, an INF file for installing the driver, a document which covers all you need to know to use the source, and a pre-built ready to run driver.

What does it look like in device manager?

Are there limits on the devices?

You may define any number of adapters, buses, devices and LUNs. The devices can be of any type (eg: scanner, printer, disk drive, optical).

What is the API like?

For StorRam/MiniRam you only need to fill in the blanks in standard entry points that are called by storport/scsiport respectively. The documentation has a walkthrough to help you cover each step.

For StorFile/MiniFile, your job is very easy. Simply fill in 3 functions and use one callback and your code is done. You are free to call any DDK function or other drivers.

// your below functions are called at PASSIVE_LEVEL. You can
// define context data for the adapter, device, and the requests

ULONG StartAdapter(ADAPTER_CONTEXT_DATA, PORT_CONFIGURATION_INFORMATION, ARG_STRING);
void  StopAdapter (ADAPTER_CONTEXT_DATA);
void  StartSrb    (ADAPTER_CONTEXT_DATA, DEVICE_CONTEXT_DATA, SCSI_REQUEST_BLOCK);

// the below callback is callable at DISPATCH_LEVEL or below
// which is convenient when you are posted by your back end.

void CompleteSrb(SCSI_REQUEST_BLOCK);

What technical support is provided?

Free support for 90 days and a full refund policy.

Are there any royalties or other costs?

No. You are free to modify the source and use it for as many products as you wish in any sales volume. There is also no time limit on how long you can use the source.

What is the license agreement?

 

Featured Customers: