storport Virtual miniport issue

Hi experts,
I’m developing a virtual storport miniport driver.When I install it ,the Installation Wizard returns error code 10(the device can not start). But the Driver Entry routine returns success.

The deive manager shows my Virtual device with the yellow bang.

Here is my VIRTUAL_HW_INITIALIZATION_DATA structure initialization.

stFCoEInitData.HwInitializationDataSize = sizeof(VIRTUAL_HW_INITIALIZATION_DATA);
stFCoEInitData.AdapterInterfaceType = Internal;
stFCoEInitData.HwInitialize = FCoEHBAHwInitialize;
stFCoEInitData.HwStartIo = FCoEHBAHwStartIo;
stFCoEInitData.HwFindAdapter = FCoEHBAHwFindAdapter;
stFCoEInitData.HwResetBus = FCoEHBAHwResetBus;
stFCoEInitData.HwAdapterState = NULL;
stFCoEInitData.DeviceExtensionSize = sizeof(DEV_EXTN);
stFCoEInitData.SpecificLuExtensionSize = 0;
stFCoEInitData.SrbExtensionSize = sizeof(SRB_EXTN);
stFCoEInitData.TaggedQueuing = TRUE;
stFCoEInitData.AutoRequestSense = TRUE;
stFCoEInitData.MultipleRequestPerLu = TRUE;
stFCoEInitData.ReceiveEvent = TRUE;
stFCoEInitData.HwAdapterControl = FCoEHBAHwAdapterControl;
stFCoEInitData.HwFreeAdapterResources = FCoEHBAHwFreeAdapterResources;
stFCoEInitData.HwProcessServiceRequest = FCoEHBAHwProcessServiceRequest;
stFCoEInitData.HwCompleteServiceIrp = FCoEHBAHwCompleteServiceIrp;

following is my PORT_CONFIGURATION_INFORMATION structure initilization inside HwFindAdapter

ConfigInfo->Length = sizeof(PORT_CONFIGURATION_INFORMATION);
ConfigInfo->MaximumTransferLength = MAX_TRANSFER_SIZE;
ConfigInfo->MaximumNumberOfTargets = MAX_TARGETS;
ConfigInfo->NumberOfPhysicalBreaks = 0;
ConfigInfo->NumberOfBuses = 1;
ConfigInfo->ScatterGather = FALSE;
ConfigInfo->CachesData = FALSE;
ConfigInfo->Master = FALSE;
ConfigInfo->NeedPhysicalAddresses = FALSE;
ConfigInfo->TaggedQueuing = TRUE;
ConfigInfo->AlignmentMask = 0x3;
ConfigInfo->MapBuffers = STOR_MAP_NON_READ_WRITE_BUFFERS;
ConfigInfo->SynchronizationModel = StorSynchronizeFullDuplex;

Please through some light on what could be the problem.Thank you.

pConfigInfo->VirtualDevice=TRUE;

Hi Stepehen,
I have already set ConfigInfo->VirtualDevice as TRUE.I forgot to include it in my above post,my apologies for that. following is my ConfigInfo structure

//Since our Adapter is a Virtual device set Virtual device member as TRUE
ConfigInfo->VirtualDevice = TRUE;

//fill in the cofigInfo structure
ConfigInfo->Length = sizeof(PORT_CONFIGURATION_INFORMATION);
ConfigInfo->MaximumTransferLength = MAX_TRANSFER_SIZE;
ConfigInfo->MaximumNumberOfTargets = MAX_TARGETS;
ConfigInfo->NumberOfPhysicalBreaks = 0;
ConfigInfo->NumberOfBuses = 1;
ConfigInfo->ScatterGather = FALSE;
ConfigInfo->CachesData = FALSE;
ConfigInfo->Master = FALSE;
ConfigInfo->NeedPhysicalAddresses = FALSE;
ConfigInfo->TaggedQueuing = TRUE;
ConfigInfo->AlignmentMask = 0x3;
ConfigInfo->SynchronizationModel = StorSynchronizeFullDuplex;

Kindly let me know is there any other reason which will cause this problem.Thank you.