_STATIC_FILTER

struct _STATIC_FILTER
{
 	ULARGE_INTEGER  	m_Adapter; 
 	unsigned long  		m_dwDirectionFlags; 
 	unsigned long  		m_FilterAction;  
 	unsigned long  		m_ValidFields;  
 	unsigned long  		m_LastReset;  
 	ULARGE_INTEGER  	m_PacketsIn;   
 	ULARGE_INTEGER  	m_BytesIn;   
 	ULARGE_INTEGER  	m_PacketsOut;   
 	ULARGE_INTEGER  	m_BytesOut;   
 	DATA_LINK_LAYER_FILTER 	m_DataLinkFilter;
 	NETWORK_LAYER_FILTER 	m_NetworkFilter;
 	TRANSPORT_LAYER_FILTER 	m_TransportFilter;
};

This structure represents single filter entry.

m_Adapter
Adapter handle. For 32 bit systems assign adapter handle to m_Adapter.LowPart , for 64 bit systems to m_Adapter.QuadPart. If m_Adapter.QuadPart = 0 then filter is applied to all adapters.

m_dwDirectionFlags
Determines if filter should be applied to incoming, outgoing or incoming and outgoing packets. Must be a combination of PACKET_FLAG_ON_SEND and PACKET_FLAG_ON_RECEIVE

m_FilterAction
Determines if packet should be passed, dropped or redirected for processing in user mode. Must be assigned to the one of FILTER_PACKET_PASS, FILTER_PACKET_DROP or FILTER_PACKET_REDIRECT

m_ValidFields
Specifies which of the filters below contain valid values and should be matched against the packet. Must be a combination of DATA_LINK_LAYER_VALID, NETWORK_LAYER_VALID and TRANSPORT_LAYER_VALID

m_LastReset
Time of the last counters reset (in seconds passed since 1 Jan 1980)

m_PacketsIn
Number of incoming packets passed through this filter since last reset

m_BytesIn
Number of incoming bytes passed through this filter since last reset

m_PacketsOut
Number of outgoing packets passed through this filter since last reset

m_BytesOut
Number of outgoing bytes passed through this filter since last reset

m_DataLinkFilter
Data link layer filter entry

m_NetworkFilter
Network layer filter entry

m_TransportFilter
Transport layer filter entry