Which Bustype for Virtual Storport Miniport Driver

Following your article about how to develop a Virtual Storport Miniport driver, I came up your errata article where you set the Adapter Type (or is it the BusType) to BusTypeVirtual.

Can someone comment about what the difference is between BusTypeVirtual and BusTypeFileBackedVirtual and maybe BusTypeUnknown.

To elaborate:
HCK for Windows 8.1 is currently complaining in the Storage Device Query Property test, that it expects a BusType = BusTypeUnknown. Is this the expected behaviour for a Storport Miniport driver or do I have to register the Bustype elsewhere aside the registry services position (\Registry\Machine\System\CurrentControlSet\Services<drivername>\Parameters\BusType) to allow HCK to identify the driver correctly?

Any suggestion is welcome :slight_smile:

I set the InterfaceType as follows:

init_data.AdapterInterfaceType = Internal;

And I have no complaints about bus type.

I also set the following when processing FindAdapter:

config_info->VirtualDevice = TRUE;

And for my INI file I do this:

[KVSTOR_Service_Inst]
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_BOOT_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\mydriver.sys
LoadOrderGroup = SCSI Miniport
AddReg = pnpsafe_pci_addreg
AddReg = bus_type_scsi

Forgot to add this:

[pnpsafe_pci_addreg]
HKR, “Parameters\PnpInterface”, “5”, 0x00010001, 0x00000001

[bus_type_scsi]
HKR, “Parameters”, “BusType”, 0x00010001, 0x00000001

Hi Jamey,
Thanks for the reply.

I see that you have a different LoadOrderGroup than I have: LoadOrderGroup = StorPort Miniport.

So you set then your bustype to BusTypeScsi.

Ok, I will try if this fixes things for me.

Thank you for your suggestion.

Hi Jamey,

I tried your approach. The Storage Device Query Property test still fails and claims that it expects a BusType = BusTypeUnknown. Now I have, of course, BusTypeSCSI. I read about the test description and tried to understand what Microsoft is trying to tell me. My current understanding is that the expected BusType is set during submission and is reported by the Miniport driver. I currently do not understand how, because all I know about is the
AdapterInterfaceType variable you described which is set to >internal<. >internal< is however >0x0<, so maybe this translates to the BusTypeUnknown for the submission bustype (BusTypeUnknown is also 0x0).

It is frustrating :wink: