why getting zero multicast packet on miniport driver ?

During the mutlicast test for HLK , i am receiving zero packets on mine virtual miniport driver .

I am using NDIS 6.2 virtual miniport driver . I am handling OID_802_3_MULTICAST_LIST set request correctly . but still i driver still receive zero packet .

#define VELAN_MAX_MCAST_LIST 32
#define MUX_MAC_ADDRESS 6
ULONG MaximumListSize = 32 ;
ULONG m_ulMclistSize;
UCHAR m_ulMcList[VELAN_MAX_MCAST_LIST][MUX_MAC_ADDRESS];

case OID_802_3_MAXIMUM_LIST_SIZE:
Information = &MaximumListSize;
InformationLength = sizeof(MaximumListSize);

This is my set handling :
***************************************************
status = NDIS_STATUS_SUCCESS;
OidRequest->DATA.SET_INFORMATION.BytesNeeded = MUX_MAC_ADDRESS;
OidRequest->DATA.SET_INFORMATION.BytesRead = OidRequest->DATA.SET_INFORMATION.InformationBufferLength;

OID_802_3_MULTICAST_LIST :

do
{
//check multicast address invalid
if(OidRequest->DATA.SET_INFORMATION.InformationBufferLength % MUX_MAC_ADDRESS){
OidRequest->DATA.SET_INFORMATION.BytesRead = 0;
status = NDIS_STATUS_INVALID_LENGTH;
break;
}
//check multicast address list full
if(OidRequest->DATA.SET_INFORMATION.InformationBufferLength > (VELAN_MAX_MCAST_LIST * MUX_MAC_ADDRESS)){
status = NDIS_STATUS_MULTICAST_FULL;
OidRequest->DATA.SET_INFORMATION.BytesNeeded = VELAN_MAX_MCAST_LIST * MUX_MAC_ADDRESS;
break;
}
//setting new multicast address list
NdisZeroMemory(m_ulMcList,VELAN_MAX_MCAST_LIST * MUX_MAC_ADDRESS);
NdisMoveMemory(m_ulMcList,OidRequest->DATA.SET_INFORMATION.InformationBuffer,OidRequest->DATA.SET_INFORMATION.InformationBufferLength);
m_ulMclistSize = OidRequest->DATA.SET_INFORMATION.InformationBufferLength / MUX_MAC_ADDRESS;
status = NDIS_STATUS_SUCCESS;

}while(FALSE);

**********************************************************

and for query request :

Information = &m_ulMcList[0];
InformationLength = m_ulMclistSize *sizeof(MUX_MAC_ADDRESS);

and my error log :

Add/Delete a multicast address multiple times - 0
ClOpen::AddMulticastAddress
Add address 01-02-03-04-05-06 to the multicast list on the Test open
Address 01-02-03-04-05-06 added to the Multicast List on the Test open

Query Multicast address list to validate that Add was successfull.

Delete Multicast Address.
ClOpen::RemoveMulticastAddress
Remove address 01-02-03-04-05-06 to the multicast list on the Test open
Address 01-02-03-04-05-06 removed from the Multicast List on the Test open

Query Multicast address list to validate that Delete was successfull.

**********************************************************

Add as many multicast addresses as driver says it supports
Max list size is 22

Add multicast address - 0
ClOpen::AddMulticastAddress
Add address 01-02-03-04-00-00 to the multicast list on the Test open
Address 01-02-03-04-00-00 added to the Multicast List on the Test open

Query Multicast address list to validate that Add was successfull.


10002 StartTime: 20:03:50.560
Add multicast address - 1
ClOpen::AddMulticastAddress
Add address 01-02-03-04-00-01 to the multicast list on the Test open
NdisRequest for OID_802_3_MULTICAST_LIST of type QueryInformation failed with status = NDIS_STATUS_INVALID_LENGTH
Address 01-02-03-04-00-01 added to the Multicast List on the Test open

Query Multicast address list to validate that Add was successfull.

*****************************************************

after that i am getting receive log :

Send/Receive for all valid multicast addresses. Should receive all packets for this test.

50013 Received less than the expected percentage of packets sent.

We expected 247 packets (99 percent of 250 expected packets sent).
NDISTest header module: Destination 01-02-03-04-00-00 on test adapter Virtual Network Driver received 0 of 250 expected packets sent.

******************************************************************

i don’t know why . I am handling all the things . Any thing am missing ? any suggestions ?